如何在iOS中使用其控件创建自定义UIView?
让我们说我想要Radio Streamer只有Play / Pause按钮和滚动条。还可以说我将为该流媒体创建新模型(单身)。
如何处理查看和控制?我是否创建UIView并向该UIView添加动作(IBOutlets),或者我还需要ViewController?或者我应该只使用没有UIView的ViewController +模型?因为我看到他们总是说模特和视图永远不应该沟通,所以我不认为只有UIView和行动在其中是个好主意...
我创建了Model(单例)和ViewController(.xib,它是带有播放/暂停和滚动条的视图320x50)。我已经在控制器内部实现了模型和操作,现在当我想使用该控制器时(所以无线电流)我使用这段代码:
RadioPlayerViewController *controller = [[RadioPlayerViewController alloc] initWithNibName:@"RadioPlayerViewController" bundle:nil];
[controller.view setCenter:CGPointMake(CGRectGetMidX(self.view.bounds), 300)];
[self addChildViewController:controller];
[self.view addSubview:controller.view];
这是好事吗?
感谢。
答案 0 :(得分:0)
你说和实现的方式是正确的你已经使用NSObject类进行模型类扩展你在这里创建了名为singleton的类,模型类很好
现在关于目标c中的视图和控制器这部分是在目标c中与Viewcontroller结合但是如果你想要你可以分离视图表单视图控制器类
如果你需要一些带有相关方法的控制器并且需要从主要的父控制器中分离出来并且需要作为单独的组件,你可以使用这个approch来创建RadioPlayerViewController,你所做的就是完美的。
您还可以创建自定义视图,然后在视图控制器中添加此视图
有关如何创建自定义视图的信息,请参阅此链接http://www.raywenderlich.com/1768/uiview-tutorial-for-ios-how-to-make-a-custom-uiview-in-ios-5-a-5-star-rating-view
当您需要在许多屏幕中使用的某些可重用视图时,可以使用它。
您实现的方法是自定义组件的好方法,您可以在组件中进行更改并轻松修改它,而不会出现父控制器中的任何问题。