Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在适用于iPhone、iPad和Retina的UITableView中定位UISwitch_Iphone_Objective C_Xcode - Fatal编程技术网

在适用于iPhone、iPad和Retina的UITableView中定位UISwitch

在适用于iPhone、iPad和Retina的UITableView中定位UISwitch,iphone,objective-c,xcode,Iphone,Objective C,Xcode,我有一个分组的TableView,并且我将UISwitch放置在行的右侧,就在>的左侧。现在,我使用了一个显式的CGRect,没有计算值 在iPhone4.2中,它的位置是正确的,但在iPad4.2上,它当然不是 是否有特定的方法来计算定位,从而在不考虑设备/屏幕分辨率的情况下产生相同的相对位置? 或者我只是使用屏幕宽度、表格单元格宽度等,然后自己计算?您应该熟悉UIView和UIView。为您省去了很多麻烦。对于自定义视图,如UITableViewCell子类,您可以使用LayoutSubVi

我有一个分组的TableView,并且我将UISwitch放置在行的右侧,就在>的左侧。现在,我使用了一个显式的CGRect,没有计算值

在iPhone4.2中,它的位置是正确的,但在iPad4.2上,它当然不是

是否有特定的方法来计算定位,从而在不考虑设备/屏幕分辨率的情况下产生相同的相对位置?
或者我只是使用屏幕宽度、表格单元格宽度等,然后自己计算?

您应该熟悉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版本的拉伸版本。我不知道;我不认为还有其他选择