在适用于iPhone、iPad和Retina的UITableView中定位UISwitch
我有一个分组的TableView,并且我将UISwitch放置在行的右侧,就在>的左侧。现在,我使用了一个显式的CGRect,没有计算值 在iPhone4.2中,它的位置是正确的,但在iPad4.2上,它当然不是 是否有特定的方法来计算定位,从而在不考虑设备/屏幕分辨率的情况下产生相同的相对位置?在适用于iPhone、iPad和Retina的UITableView中定位UISwitch,iphone,objective-c,xcode,Iphone,Objective C,Xcode,我有一个分组的TableView,并且我将UISwitch放置在行的右侧,就在>的左侧。现在,我使用了一个显式的CGRect,没有计算值 在iPhone4.2中,它的位置是正确的,但在iPad4.2上,它当然不是 是否有特定的方法来计算定位,从而在不考虑设备/屏幕分辨率的情况下产生相同的相对位置? 或者我只是使用屏幕宽度、表格单元格宽度等,然后自己计算?您应该熟悉UIView和UIView。为您省去了很多麻烦。对于自定义视图,如UITableViewCell子类,您可以使用LayoutSubVi
或者我只是使用屏幕宽度、表格单元格宽度等,然后自己计算?您应该熟悉UIView和UIView。为您省去了很多麻烦。对于自定义视图,如UITableViewCell子类,您可以使用LayoutSubView进行自定义视图定位:
- (void) layoutSubviews {
[super layoutSubviews];
// layout relative to contentView frame
switchView.frame = CGRectMake(
CGRectGetWidth(self.contentView.frame) - CGRectGetWidth(switchView.frame) - someMargin,
4.0f / y, // or something else related to the contentView
CGRectGetWidth(switchView.frame),
CGRectGetHeight(switchView.frame)
);
}
还可以使用自动调整遮罩来自动重新定位子视图。这适用于将案例定位到容器视图的右侧,但如果要相对于同级视图进行定位,则不太有用。u可以对每个组件使用以下公式:ipadVersion.width=iphoneVersion.width*768/480。这是一个仅在纵向模式下查找宽度的简单示例。当然,使用相同的模型u可以找出x、y和高度。事实上,结果是iPhone版本的拉伸版本。我不知道;我不认为还有其他选择