获取iPhone的UIView可见区域的边界

获取iPhone的UIView可见区域的边界,iphone,objective-c,Iphone,Objective C,我有一个UIView,我想得到它的可见边界。例如,有时有一个tabbar;有时候没有。我想得到这两种情况下的不同值。UIView.bounds始终只返回手机整个屏幕的边界(可用于应用程序),这不是我想要的。我不完全清楚您的情况。 如果您知道这些场景,可以设置视图大小和位置。导航栏的高度为44像素。然后,您可以根据需要定义视图的框架,如下所示 如果您将导航栏放在顶部,而下面没有选项卡栏 CGRect newFrame = yourView.frame; newFrame.origin.y = 44

我有一个UIView,我想得到它的可见边界。例如,有时有一个tabbar;有时候没有。我想得到这两种情况下的不同值。UIView.bounds始终只返回手机整个屏幕的边界(可用于应用程序),这不是我想要的。

我不完全清楚您的情况。 如果您知道这些场景,可以设置视图大小和位置。导航栏的高度为44像素。然后,您可以根据需要定义视图的框架,如下所示

如果您将导航栏放在顶部,而下面没有选项卡栏

CGRect newFrame = yourView.frame;
newFrame.origin.y = 44.0;
newFrame.size.height = 436.0;
newFrame.size.width = 320.0;
yourView.frame = newFrame;
CGRect newFrame = yourView.frame;
newFrame.origin.y = 44.0;
newFrame.size.height = 387.0;
newFrame.size.width = 320.0;
yourView.frame = newFrame;
如果导航栏位于顶部,而选项卡栏位于下方

CGRect newFrame = yourView.frame;
newFrame.origin.y = 44.0;
newFrame.size.height = 436.0;
newFrame.size.width = 320.0;
yourView.frame = newFrame;
CGRect newFrame = yourView.frame;
newFrame.origin.y = 44.0;
newFrame.size.height = 387.0;
newFrame.size.width = 320.0;
yourView.frame = newFrame;

希望这能有所帮助……

我不太清楚您的情况。 如果您知道这些场景,可以设置视图大小和位置。导航栏的高度为44像素。然后,您可以根据需要定义视图的框架,如下所示

如果您将导航栏放在顶部,而下面没有选项卡栏

CGRect newFrame = yourView.frame;
newFrame.origin.y = 44.0;
newFrame.size.height = 436.0;
newFrame.size.width = 320.0;
yourView.frame = newFrame;
CGRect newFrame = yourView.frame;
newFrame.origin.y = 44.0;
newFrame.size.height = 387.0;
newFrame.size.width = 320.0;
yourView.frame = newFrame;
如果导航栏位于顶部,而选项卡栏位于下方

CGRect newFrame = yourView.frame;
newFrame.origin.y = 44.0;
newFrame.size.height = 436.0;
newFrame.size.width = 320.0;
yourView.frame = newFrame;
CGRect newFrame = yourView.frame;
newFrame.origin.y = 44.0;
newFrame.size.height = 387.0;
newFrame.size.width = 320.0;
yourView.frame = newFrame;

希望这会有所帮助….

关键是我并不总是知道会不会有导航栏或选项卡栏。我只知道它可能在那里,我想知道屏幕其余部分的边界。无论如何,我宁愿避免硬编码值。问题是我并不总是知道会不会有导航栏或选项卡栏。我只知道它可能在那里,我想知道屏幕其余部分的边界。无论如何,我宁愿避免硬编码值。