我正在尝试找出使用UISegmentedControliPhone应用程序的"最佳"方式.我已经在stackoverflow上阅读了一些帖子并看到了一些人的想法,但我无法理清这样做的最佳方法.我所指的帖子是:
从UISegmentedControl更改视图 以及 如何使用UISegmentedControl切换视图?
似乎选项是:
UIView并根据所选的段左/右或上/下动画UITabBarController来换掉子视图 - 看起来很傻cellForRowAtIndex根据所选的段选项从不同的数据源或部分填充表(不是我的应用程序的情况)那么哪种方法最适合子视图/非表格方法?哪个最容易实现?你能分享一些示例代码吗?
谢谢!
我已将subview(ViewController)添加到我的ViewController:
Location *location = [[Location alloc] initWithNibName:@"Location" bundle:[NSBundle mainBundle]];
[self.subView addSubview:location.view];
Run Code Online (Sandbox Code Playgroud)
我怎样才能删除这个子视图呢?
我知道删除所有子视图是:
for (UIView *subview in [self.view subviews]) {
[subview removeFromSuperview];
}
Run Code Online (Sandbox Code Playgroud) 这个问题非常基础.UIView从视图层次结构中删除a 和隐藏a 之间的性能差异是UIView什么?
我已经读过应该从视图层次结构中删除不需要的视图.我目前的情况是,UIButton有时应该可见.我什么时候隐藏它UIButton以及何时从它的超视图中删除它?
更改视图层次结构是否昂贵?
我在视图层次结构中有一个随机的子视图.获得根超级视图的最佳/最快/最聪明的方法是什么?
干杯,
道格
对于我正在构建的应用程序,我有一个自定义的"旧地图"效果PNG,我想在MKMapView视图上叠加.不幸的是,我试图这样做的方式都不正确:
我基本上想要实现的是一个子视图,它位于maptiles上方,但位于注释视图下方,并且在用户滚动时会保持稳定 - 任何想法?
我想要一个视图在通过添加到堆栈时淡入
[self.view addSubview:someSecondaryViewController.view];
如何设置此调用的动画以使视图淡入(和退出)?
就像我说的,我在Interface Builder中添加了一个UIButton,我想添加一个UILabel,UIImageView作为按钮的子视图,但我不能在IB中添加任何对象.有谁知道怎么做?非常感谢你.
我可以使用代码实现这一点,但我想在IB中实现它,所以我可以在任何我想要的类中使用它.
我有我的观点和控制器设置如此.
我想要做的是访问顶部标签栏/导航控制器,以便我可以将视图推到它上面.
我尝试了parentViewController但它所做的就是将视图推送到编程的导航控制器上.
有什么建议?
这是我设置我的根视图控制器的方式:
-(void)viewDidAppear:(BOOL)animated{
NSLog(@"ROOT APPEARED");
[super viewDidAppear:animated];
WorklistViewController *worklistController = [[WorklistViewController alloc]initWithNibName:@"WorklistView" bundle:[NSBundle mainBundle]];
UINavigationController *worklistNavController = [[UINavigationController alloc] initWithRootViewController:worklistController];
worklistNavController.navigationBar.barStyle = UIBarStyleBlackOpaque;
worklistNavController.view.frame = watchlistView.frame;
[worklistNavController.topViewController viewDidLoad];
[worklistNavController.topViewController viewWillAppear:YES];
[self.view addSubview:worklistNavController.view];
GetAlertRequestViewController *alertsController = [[GetAlertRequestViewController alloc]initWithNibName:@"AlertsView" bundle:[NSBundle mainBundle]];
UINavigationController *alertsNavController = [[UINavigationController alloc] initWithRootViewController:alertsController];
alertsNavController.navigationBar.barStyle = UIBarStyleBlackOpaque;
alertsNavController.view.frame = alertsView.frame;
[alertsNavController.topViewController viewDidLoad];
[alertsNavController.topViewController viewWillAppear:YES];
[self.view addSubview:alertsNavController.view];
}
Run Code Online (Sandbox Code Playgroud) 我正在学习Objective-C.
我的新故事板功能有问题.我将使用xib初始化主视图中的子视图.
不使用故事板,我可以使用:
controller = [[UIViewController alloc]initWithNibName:@"NibName" bundle:nil];
[self.view addSubview:controller.view];
Run Code Online (Sandbox Code Playgroud)
现在,我不会使用外部xib,但我希望在类中管理一个视图并将其用作另一个类中的子视图.
我知道可以使用xib并使用类似的代码来加载它,但它必须在故事板之外.
如何测试子视图是否已添加到父视图?如果尚未添加,我想添加它.否则,我想删除它.
subview ×10
ios ×5
iphone ×5
uiview ×3
objective-c ×2
addsubview ×1
cocoa-touch ×1
mkmapview ×1
overlay ×1
storyboard ×1
superview ×1
swift ×1
uibutton ×1
xcode ×1