我正在使用JSQmessageViewController并尝试以编程方式添加“后退”按钮&导航栏上的用户图像。我正在使用以下代码。运行后,没有“后退”按钮或图像。附件是模拟器的屏幕截图。我用普通的UIViewController测试了这些代码,然后就可以了。
我可以知道他们为什么不使用JSQmessageViewController吗?我应该怎么做才能添加“后退”按钮&导航栏上的图像?非常感谢!
let navigationBar = UINavigationBar(frame: CGRectMake(0, 0, self.view.frame.size.width, 64))
navigationBar.backgroundColor = UIColor.whiteColor()
navigationBar.delegate = self;
let navigationItem = UINavigationItem()
navigationItem.title = strValue
let leftButton = UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.Plain, target: self, action: "back:")
self.navigationItem.leftBarButtonItem = leftButton
let imgButton = UIButton()
imgButton.setImage(image, forState: .Normal)
imgButton.addTarget(self, action: "EditProfile:", forControlEvents: UIControlEvents.TouchDown)
imgButton.frame = CGRectMake(self.view.frame.width - 60, 0, 41, self.view.frame.height)
var rightButton = UIBarButtonItem(customView: imgButton)
self.navigationItem.rightBarButtonItem = rightButton
navigationBar.items = [navigationItem]
self.view.addSubview(navigationBar)
}
答案 0 :(得分:0)
因此,如果您使用导航控制器来呈现/cloudservice/null
的实例化,那么导航栏实际上应该已存在。你可以只提供这些按钮,它们将在正确的位置。您似乎也可能使用过时的语法进行操作。这是最新的语法。
创建一个添加后退按钮的功能。
def evenSeq(seq):
i = startindex = maxindex = maxcount = 0
while i < len(seq):
if seq[i]%2==0:
startindex = i
while i < len(seq) and seq[i]%2==0:
i+=1
if maxcount < i - startindex:
maxcount = i - startindex
maxindex = startindex
i+=1
return (maxindex, maxcount)
为按钮创建操作。
JSQMessagesViewController
然后,对于你的图像,你实际上是想在标题视图中放置一个按钮。哪个没问题。
func addCancelButtonLeft() {
let button = UIBarButtonItem(barButtonSystemItem: .back, target: self, action: #selector(dismissView))
navigationItem.leftBarButtonItem = button
}
如果您有更多问题,请告诉我,我会看到我能做些什么。祝你好运