我正试图UIAlertController
在我的iOS应用程序中呈现AppDelegate.以下是警报和本方法.
UIAlertController *alert = [UIAlertController alertControllerWithTitle:cTitle message:cMessage preferredStyle:UIAlertControllerStyleAlert];
//Configure alert and actions
[self.window.rootViewController presentViewController:alert animated:TRUE completion:nil];
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试显示警报时,它不会出现,我在控制台中收到以下警报.
Warning: Attempt to present <UIAlertController: 0x145f5d60> on <UINavigationController: 0x146590f0> whose view is not in the window hierarchy!
Run Code Online (Sandbox Code Playgroud)
导致错误的原因是什么?如何解决?
我在类中声明了var,如下所示:
@NSManaged var isFavorite: Bool
Run Code Online (Sandbox Code Playgroud)
我想宣布一个属性观察者,非常类似于下面的那个.
var organization: String {
didSet { postNotificationWithName( "newData" ) }
}
Run Code Online (Sandbox Code Playgroud)
但是,Swift告诉我,NSManaged
不允许在vars 上拥有财产观察员.有什么方法可以为我的isFavorite
变量实现这样的功能或类似的功能吗?
我目前UIAlertController
正在屏幕上显示.警报视图应仅显示2个元素,标题和UIActivityIndicatorView
警报中心.以下是显示警报及其元素的功能.
func displaySignUpPendingAlert() -> UIAlertController {
//Create the UIAlertController
let pending = UIAlertController(title: "Creating New User", message: nil, preferredStyle: .Alert)
//Create the activity indicator to display in it.
let indicator = UIActivityIndicatorView(frame: CGRectMake(pending.view.frame.width / 2.0, pending.view.frame.height / 2.0, 20.0, 20.0))
indicator.center = CGPointMake(pending.view.frame.width / 2.0, pending.view.frame.height / 2.0)
//Add the activity indicator to the alert's view
pending.view.addSubview(indicator)
//Start animating
indicator.startAnimating()
self.presentViewController(pending, animated: true, completion: nil)
return pending
}
Run Code Online (Sandbox Code Playgroud)
但是,活动指示器不会显示在视图的中心,实际上它显示在屏幕的右下方,远离视图.这是什么原因?
编辑:我知道我可以硬编码指标位置的数字,但我希望警报可以在多个屏幕尺寸和方向的多个设备上工作.
我在Xcode UI Unit测试中观看了WWDC视频,并尝试将其合并到我的应用程序中.
在我的应用程序的特定场景中,当用户点击按钮时,应用程序会运行一些逻辑.基于该逻辑的结果,VC被解雇或停留.我想运行一个UI测试,以确保VC被解散或保持基于已知输入.如何通过XCElementQuery获取对当前显示的视图控制器的引用?
我正在尝试实现一个Collection视图,该视图作为IBOutlet连接到接口构建器中的集合视图.根据需要,我试图声明我为包含集合视图的控制器创建的UIViewController类文件作为UICollectionViewDataSource.
但是,Xcode一直给我一个错误,即视图控制器不符合UICollectionViewDataSource的协议,尽管它被声明在那里.
我将控制器设置为数据源并委托如下:
ObjectsCollection.delegate = self
ObjectsCollection.dataSource = self
Run Code Online (Sandbox Code Playgroud)
这是错误的屏幕截图:
错误的原因是什么?我似乎找不到它.