- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想用一个 navItem.rightBarButtonItem
加载 View Controller ,并根据一组情况将其更改为另一个。似乎我只能在 viewDidLoad
上加载它一次。更改图标后是否有更新栏按钮项目的方法?
func viewDidLoad() {
var iconOne = UIImage(named: "button")
let buttonOne = UIBarButtonItem(image: iconOne, style: UIBarButtonItemStyle.Plain, target: self, action: "funcOne")
self.navItem.rightBarButtonItem = buttonOne
//perform async query, if a condition holds true then:
var iconTwo = UIImage(named: "buttonTwo")
let buttonTwo = UIBarButtonItem(image: iconTwo, style: UIBarButtonItemStyle.Plain, target: self, action: "funcTwo")
self.navItem.rightBarButtonItem = buttonTwo
}
完整代码:
override func viewDidLoad() {
super.viewDidLoad()
// Sets custom nav bar view so we can add multiple bar buttons
navBar = UINavigationBar(frame: CGRectMake(0, 20, UIScreen.mainScreen().bounds.size.width, 44))
navBar.barTintColor = UIColor.blackColor() // Sets bar to black
navBar.translucent = false
self.view.addSubview(navBar)
navItem = UINavigationItem(title: "\(name)") // Sets title
navBar.titleTextAttributes = [ NSFontAttributeName: UIFont(name: "Helvetica Neue", size: 25)!, NSForegroundColorAttributeName: UIColor.whiteColor()]
// Set icons
var backIcon = UIImage(named: "backButton")
let backButton = UIBarButtonItem(image: backIcon, style: UIBarButtonItemStyle.Plain, target: self, action: "backButton")
navItem.leftBarButtonItem = backButton
var userQuery = PFQuery(className: "Followers")
userQuery.whereKey("following", equalTo: username)
userQuery.findObjectsInBackgroundWithBlock({ (objects, error) -> Void in
if error == nil {
if let objects = objects {
for object in objects {
if let follower = object["follower"] as? String {
if follower == PFUser.currentUser()!.username! {
var followingIcon = UIImage(named: "followingButton")
let followingButton = UIBarButtonItem(image: followingIcon, style: UIBarButtonItemStyle.Plain, target: self, action: "unfollowUser")
self.navItem.rightBarButtonItem = followingButton
self.navItem.rightBarButtonItem?.tintColor = UIColor.orangeColor()
} else {
var followIcon = UIImage(named: "followButton")
let followButton = UIBarButtonItem(image: followIcon, style: UIBarButtonItemStyle.Plain, target: self, action: "followUser")
self.navItem.rightBarButtonItem = followButton
self.navItem.rightBarButtonItem?.tintColor = UIColor.darkGrayColor()
}
}
}
}
} else {
println(error)
}
})
最佳答案
我不确定这是否可行。因此,我制作了自己的自定义 View ,其中每个栏按钮项目都在其中。我将右栏按钮项目设置为 var rightButton = UIButton(frame: CGRectMake(UIScreen.mainScreen().bounds.width - 50, 25, 30, 30))
,添加一个 Action ,并将 subview 添加到 View 中。
关于ios - 重新加载 UINavigationItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31530498/
在我的 UINavigationController 中,我推送三个 UITableViewController。在我的第二个 UITableViewController 中,我在 viewDidLo
我有一个 navigationItem 的子类,因为我想更改导航标题标签的文本、字体、颜色等。 我的 customNavigationItem.h 有以下内容: @interface CustomNa
我被难住了。我正在使用 UINavigationController,在一个 View 上我试图隐藏后退按钮。但是当我这样做时,它也会隐藏下一级 View 上的后退按钮。 在 - (void)view
我想用一个 navItem.rightBarButtonItem 加载 View Controller ,并根据一组情况将其更改为另一个。似乎我只能在 viewDidLoad 上加载它一次。更改图标后
我有一个 UINavigationItem(不是 UINavigationBar),我想使其透明或不透明。这是在我建立从导航 Controller 到我的 UIViewController 子类的关系
我创建了一个带有菜单结构的应用程序,并希望在初始化第一个 ViewController 之前拥有一个 DownloadViewController。 因此我在 DownloadViewControll
尝试修改 UINavigationItem 中的标题 // this modify the title self.navigationItem.title = @"Any title"; //
我正在尝试为 UINavigationItem 创建自定义动画。我有包含 4 个项目的导航栏,但是当我向下滚动时,我想将搜索栏放在导航中。我想要动画自下而上,但我尝试的一切都不起作用。 以下是我尝试过
我有一个自定义的 UITextField 添加到 UINavigationItem.titleView。但它不是becomeFirstResponder。为什么会这样? - (void) viewDi
我正在使用此代码在 UINavigationItem 中设置自定义图像: let button = UIButton(type: .system) button.frame = CGRect(orig
当我点击导航栏的标题时,有什么好方法可以让弹出窗口(特别是日期选择器)出现?我实际上使用的是 xcode6/swift,但假设 ios7 解决方案就足够了! 非常感谢! 最佳答案 您可以将按钮设置为标
谁能解释为什么有两个 navigationItems?当我像下面这样登录时: NSLog(@"%@", self.navigationItem); NSLog(@"%@", self.navigati
我找遍了,似乎无法弄清楚。我相信很多人都会有我的链接,我很可能已经看过了。但如果有人可以请给我看代码来执行以下操作: 我想在我的 UINavigationBar 中有一个左箭头作为“返回”UINavi
我遇到了一个问题,当我将项目推到导航 Controller 上时,后退按钮只显示“后退”。我尝试设置一个断点并检查堆栈上的导航项。堆栈中的所有项目都有一个 nil backButtonItem 和一个
我有两个字符串构建的文本:A(乙) 我想使用这两个字符串作为 UINavigationItem 的标题,但在截断的情况下,我只希望截断 A 而不是截断 B。 例子:我想要的标题是“The quick
我有一个 iPad 应用程序,在其中一个屏幕上我有一个 UIToolbar设置为 titleView的 viewController的 navigationItem .我还有一个 left-和一个 r
我正在使用基于 UIImageView 的动画来显示自定义事件指示器。以下代码负责设置: + (void)startLoadingActivity:(UIViewController *)vc {
我无法解决 UINavigationItem 上的提示问题... 我有一个主视图 Controller 和一个细节 View Controller 。当我从 master 推送到细节时,细节 View
我在 Xcode 5 的“默认导航 Controller ”中添加了几个 View Controller 。我想更改栏的颜色,但它不起作用。这是我使用的代码: [[UINavigationBar ap
如何在导航项中添加新按钮?假设我需要将其添加到右侧按钮附近。 用于左右的代码。 self.navigationItem.leftBarButtonItem = [[UIBarButtonItem al
我是一名优秀的程序员,十分优秀!