- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用带有 3 个按钮的自定义 tableviewcell。
我在自定义单元格中的 layoutSubviews 方法中设置了按钮的框架:
-(void)layoutSubviews
{
[super layoutSubviews];
CGRect frame;
if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation))
{
frame = CGRectMake(310, 7, 55, 35);
_prod.frame = frame;
frame = CGRectMake(365, 7, 55, 35);
_leva.frame = frame;
frame = CGRectMake(220, 4, 65, 65);
_imageButton.frame = frame;
}
else{
frame = CGRectMake(150, 7, 55, 35);
_prod.frame = frame;
frame = CGRectMake(205, 7, 55, 35);
_leva.frame = frame;
frame = CGRectMake(120, 4, 65, 65);
_imageButton.frame = frame;
}
}
问题是,当用户滚动表格 View 时,在更改方向后,例如,所有按钮都回到原来的纵向位置。下面是我如何初始化单元格:
LojaCell *cell = (LojaCell *) [tableView dequeueReusableCellWithIdentifier: @"LojaCell"];
if(cell == nil) cell = [[LojaCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"LojaCell"];
最佳答案
您可能必须将相同的方向敏感代码添加到 cellForRowAtIndexPath:,以便在 tableview 重新加载或重新创建单元格时它们加载到正确的位置。因为您正在使用 dequeueReusableCells,它会删除屏幕外的单元格以提高性能,这可能会解释滚动时的行为。
关于ios - 在 InterfaceOrientation 上的 customCell 内重新定位 UIButtons,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15663370/
我的应用程序是基于横向 的。当应用程序在我的设备上运行时,应用程序立即崩溃。 我选择了这两个字段 UIInterfaceOrientationLandscapeLeft UIInterfaceOrie
我目前正在使用我的 UIViewController 的 interfaceProperty,它在 iOS 8 中已被弃用。 @property(nonatomic,readonly) UIInter
我收到此错误,但不知道是什么原因造成的。这在 iPhone 和 iPad 上的 iOS 8.2 中都会发生。 Crashed: com.apple.main-thread EXC_BAD_ACCESS
我有一个自定义的 CALayer,它对于不同的界面方向应该看起来不同。有没有一种方法可以访问我使用此 CALayer 的 View Controller 的界面方向? 或者我必须在自定义图层中设置一个
我的应用有四个标签:A、B、C 和 D。它们的 UIViewController 由 UITabBarController 管理。该应用程序支持旋转,因此每个 View Controller 都向 s
既然 UIViewController 中的 interfaceOrientation 属性已弃用,那么检测当前设备方向的推荐方法是什么? 最佳答案 您可以使用[UIApplication share
UIViewController 的 InterfaceOrientation 已弃用,文档建议使用 [[UIApplication sharedApplication] statusBarOrien
如果我有一个指向 UIViewController 的指针,当它改变 interfaceOrientation 时我是否可以在不修改 Controller 代码的情况下得到通知? 我最好的选择是检测设
我正在使用带有 3 个按钮的自定义 tableviewcell。 我在自定义单元格中的 layoutSubviews 方法中设置了按钮的框架: -(void)layoutSubviews {
这不是生死攸关的事情,但我没有运气破解它。谢谢。 if session.canAddInput(videoDeviceInput){ session.addInput(videoDevic
当我在模拟器或设备中测试 4.x 下的单 View 应用程序时,主 UIViewController 的 shouldAutorotateToInterfaceOrientation: 方法在启动时被
我从 Cocoa Controls 下载了一个使用此方法的 simpleCamera View - (AVCaptureVideoOrientation)orientationForConnectio
我是一名优秀的程序员,十分优秀!