我目前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
}
但是,活动指示器不会显示在视图中心,实际上它显示在屏幕的右下角,离视图很远。这是什么原因呢?
编辑:我知道我可以为指标的位置硬编码数字,但是我希望警报在具有多种屏幕尺寸和方向的多种设备上运行。
创建视图时,请务必设置frame属性。
func displaySignUpPendingAlert() -> UIAlertController {
//create an alert controller
let pending = UIAlertController(title: "Creating New User", message: nil, preferredStyle: .Alert)
//create an activity indicator
let indicator = UIActivityIndicatorView(frame: pending.view.bounds)
indicator.autoresizingMask = [.flexibleWidth, .flexibleHeight]
//add the activity indicator as a subview of the alert controller's view
pending.view.addSubview(indicator)
indicator.isUserInteractionEnabled = false // required otherwise if there buttons in the UIAlertController you will not be able to press them
indicator.startAnimating()
self.presentViewController(pending, animated: true, completion: nil)
return pending
}
到@ 62Shark:
let pending = UIAlertController(title: "Creating New User", message: nil, preferredStyle: .Alert)
let indicator = UIActivityIndicatorView()
indicator.setTranslatesAutoresizingMaskIntoConstraints(false)
pending.view.addSubview(indicator)
let views = ["pending" : pending.view, "indicator" : indicator]
var constraints = NSLayoutConstraint.constraintsWithVisualFormat("V:[indicator]-(-50)-|", options: nil, metrics: nil, views: views)
constraints += NSLayoutConstraint.constraintsWithVisualFormat("H:|[indicator]|", options: nil, metrics: nil, views: views)
pending.view.addConstraints(constraints)
indicator.userInteractionEnabled = false
indicator.startAnimating()
self.presentViewController(pending, animated: true, completion: nil)
我试图用这段代码来显示我的个人档案活动: 当我点击Profile菜单项时,我可以看到我的ProfileActivity,但我的ActionBar上没有任何back按钮来返回我以前的活动。 那么,我如何显示一些后退按钮?我的代码是否正确以显示菜单中的活动?
问题内容: 我想以编程方式显示带有文本的活动指示器,例如“照片”应用中的活动指示器(在编辑和保存图片之后)。我怎样才能做到这一点? 问题答案: Xcode 8.2.1•Swift 3.0.2 样本项目 Xcode 9.0•Swift 4.0
场景:用户点击视图控制器上的按钮。视图控制器是导航堆栈中的最顶层(显然)。tap调用在另一个类上调用的实用程序类方法。那里发生了一件坏事,我想在控件返回视图控制器之前在那里显示一个警报。 这在中是可能的(但可能不太合适)。 在这种情况下,您如何呈现一个,就在中?
问题内容: 我的所有活动中都应该出现一个。 我看到许多与此类似的问题,并找到了一个解决方案,例如通过其他活动扩展MainActivity。 所以我将我的主要活动扩展到了我的第二个活动。但是第二个活动中没有显示抽屉 主要活动 第二活动 问题答案: 在in中,不要调用此方法: 使在保护。并 只需将抽屉标签和重力保持在左侧(或右侧)。
在Android中,我需要将第二个页面滑动到另一个页面上。 布局1覆盖页面左侧的80%。布局2显示其余的20%。往右走。 然后我需要拖动/滑动布局2在布局1的顶部,并将其滑回。
我有一个,它应该出现在我的所有活动中。 我看到了许多类似的问题&找到了一个解决方案,比如用其他活动扩展MainActivity。 所以我把我的主要活动扩展到我的第二个活动。但是抽屉没有在第二个活动中显示 主体活动 二次活动