草庐IT

UiviewController

全部标签

ios - 无法强制 UIViewController 方向

我有一个带有一个横向ViewController的纵向应用程序。我一直在研究如何在应用程序锁定为纵向时将方向强制为横向,并且我尝试了这里介绍的许多解决方案,但到目前为止还没有任何运气。到目前为止,我设法自动旋转了我在横向中需要的VC,但由于方向未锁定,所有其他VC也会旋转。overridefuncviewDidAppear(animated:Bool){letvalue=UIInterfaceOrientation.LandscapeRight.rawValueUIDevice.currentDevice().setValue(value,forKey:"orientation")}o

ios - 为什么 UIViewController 子类的 Swift 默认初始化程序会两次初始化属性?

为什么UIViewController子类的Swift默认初始化器init()会初始化属性两次?同样的事情发生在UIView的子类上,但不是在NSObject的直接子类上。通过使用Parent(nibName:nil,bundle:nil)而不是Parent()进行初始化,问题就消失了。当我为Parent提供自定义初始化程序时,它也能正常工作。我知道如何解决这个问题,但我很好奇为什么会这样。可以通过将此代码复制到Xcode6.0.1Playground来重现该问题。importUIKitclassChild{init(){println("Childinit")}}classParen

ios - 'required' initializer 'init(coder:)' 必须由 UIViewController 的子类提供

我知道还有其他类似的问题,但没有一个能回答我下面的问题。所以我有一个在XIB中定义了布局的ViewController。从另一个ViewController我想做这样的事情letdestVc=DestViewController(model:someModelData)self.showViewController(destVc,...)DestViewController定义如下:classDestViewController:UITableViewController{varmodel:SomeModelData{didSet{self.tableView.reloadData()

ios - 准备 segue : Cannot convert value of type 'UIViewController' to specified type 'SecondViewController'

我知道我肯定在这里遗漏了一些明显的东西,但我似乎无法通过它的实际类型来引用目标ViewController。我按照以下步骤从头开始创建了一个新项目来对此进行测试:创建一个新的单View应用程序项目添加一个新的ViewController创建一个新类,子类化UIViewController,并将其命名为SecondViewController将这个新类设置为第二个ViewController的自定义类(现在它的标题是第二个ViewController)向第一个ViewController添加一个按钮,然后按住Ctrl键单击它到第二个ViewController,然后从ActionSegu

ios - Xcode 6 告诉我 UIViewController 没有名为 reloadData() 的成员

我有一个ViewController,它是UICollectionViewController、UICollectionViewDataSource和UICollectionViewDelegate。最近更新Xcode后,我现在收到以下错误:'(UICollectionView,numberOfItemsInSection:Int)->Int'doesnothaveamembernamed'reloadData'关于下面的代码(-didCompleteForecast:是一个回调方法):funcdidCompleteForecast(){//stuffprintln("gottheda

objective-c - swift中objc的 `UIViewController<MyProtocol>`相当于什么?

我想声明一个接受采用特定协议(protocol)的UIViewController的函数。我如何快速声明它?protocolMyProtocol{funcsubtitle()->StringfuncsaveResults()}funcsetupViewController(controller:UIViewController){//ERRORhere...}我为什么要这样做:因为我创建了一个容器ViewController,它有几个不同类的child。它们的共同点是MyProtocol,当然它们继承(直接或间接)UIViewController。所以我的一个方法将其中一个Contro

swift - 如何为 UIViewController 自定义子类创建非可选存储属性

当子类化UIViewController(和其他类似类)时,我们不必处理任何初始化,所以如果我创建一个不是可选的存储属性,Xcode会提示没有初始化器.那么如何在这些类中创建一个非可选的存储属性呢?还是应该? 最佳答案 你有两个选择:内联初始化varmyProp=MyClass()将其声明为隐式解包可选:varmyProp:MyClass!并在ViewController中的任何位置初始化它——通常在viewDidLoad中。这是outlet常用的模式,也是我容忍隐式解包的少数情况之一

ios - 将变量从 UIViewController 传递到自定义 UITableViewCell

下面是我如何在UIViewController中使用自定义UITableViewCellRunningTableViewCell:functableView(tableView:UITableView,cellForRowAtIndexPathindexPath:NSIndexPath)->UITableViewCell{letcell=tableView.dequeueReusableCellWithIdentifier("myCell",forIndexPath:indexPath)as!RunningTableViewCell//.......cell.isTop=falseif

ios - Swift-自定义 UITableViewCell 委托(delegate)给 UIViewController 只有一种协议(protocol)有效

在应用程序中,我有我的UIViewController遵守的自定义协议(protocol)。我有一个自定义的tableViewCell类,里面有UIImageView和UITextView。出列后,我将单元格的委托(delegate)设置为UIViewController。但是,只有一个自定义协议(protocol)会进行回调(图像选择器协议(protocol))。protocolcustomProtocol1{funcpickImage(myInt:Int)}protocolcustomProtocol2{funcprotocol2(myInt:Int)}classcontrolle

ios - 尝试在其 View 不在窗口层次结构中的 UIViewController 上呈现 GKGameCenterViewController

当用户按下我的SecondViewController上的按钮时,我无法显示GameCenter排行榜(带有得分/最高得分的游戏结束屏幕)。UIbutton是ShowLeaderboard,您将在下面看到它。我得到的错误是:Warning:Attempttopresentonwhoseviewisnotinthewindowhierarchy!我曾尝试先关闭该View,但无论我做什么,我都无法只显示排行榜View。下面是我的SecondViewController代码:importUIKitimportGameKitclassSecondViewController:UIViewCon