我遇到了一个我无法解决的问题。
我已将JSQMessages
导入我的项目并将其放入我的viewController
UIView
,其中UIImage
内部有Navigation Bar
,其行为类似于tabBar
。我也有一个JSQMessagesViewController
但是当我推动我的segue时,一切都消失了,以获得正常的JSQMessagesViewController
视图。
我想要的是constraints
帧让我的顶部和机器人栏可见。我尝试从collectionView
笔尖更改JSQMessagesViewController
的{{1}}但是没有成功。
有办法吗?我对限制和东西有点新闻,但我认为我做得很好,如果有人可以帮助我。
尝试Abhay Singh Naurang解决方案,我写道:
class SendNewMessageViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let messageView = JSQMessagesViewController()
messageView.senderId = "test"
messageView.senderDisplayName = "bryan"
let navigationBarHeight = 66
let bottomTabBarHeight = 44
messageView.view.frame = CGRectMake(0, CGFloat(navigationBarHeight), self.view.frame.width, self.view.frame.height - CGFloat(bottomTabBarHeight) - CGFloat(navigationBarHeight));
self.view.addSubview(messageView.view)
}
框架似乎是正确的,但我仍然失去了tabBar
(意味着它消失了,tabBar
的方格变为白色,键盘似乎没有响应而textField
没有移动根据键盘遗憾地说。
答案 0 :(得分:0)
您需要在viewcontroller上创建JSQMessagesViewController实例,您可以在其上添加JSQMessagesViewController视图,并且可以设置JSQMessagesViewController视图的框架。 例如,你有UserListViewController,你正在推送到ChatViewController,以便在ChatViewController上有
- (void)viewDidLoad {
[super viewDidLoad];
JSQMessagesViewController *objcMessageVC = [JSQMessagesViewController alloc]init];
CGFloat navigationBarHeight = 64;
CGFloat bottomTabBarHeight =40;
objcMessageVC.view.frame = CGRectMake(0,64,CGRectGetWidth(self.view.frame),CGRectHeight(self.view.frame)-navigationBarHeight-bottomTabBarHeight);
[self addSubview:objcMessageVC.view];
}