Upvote:50
import UIKit
class ViewController: UIViewController {
override var canBecomeFirstResponder: Bool { return true }
var _inputAccessoryView: UIView!
override var inputAccessoryView: UIView? {
if _inputAccessoryView == nil {
_inputAccessoryView = CustomView()
_inputAccessoryView.backgroundColor = UIColor.groupTableViewBackground
let textField = UITextField()
textField.borderStyle = .roundedRect
_inputAccessoryView.addSubview(textField)
_inputAccessoryView.autoresizingMask = .flexibleHeight
textField.translatesAutoresizingMaskIntoConstraints = false
textField.leadingAnchor.constraint(
equalTo: _inputAccessoryView.leadingAnchor,
constant: 8
).isActive = true
textField.trailingAnchor.constraint(
equalTo: _inputAccessoryView.trailingAnchor,
constant: -8
).isActive = true
textField.topAnchor.constraint(
equalTo: _inputAccessoryView.topAnchor,
constant: 8
).isActive = true
// this is the important part :
textField.bottomAnchor.constraint(
equalTo: _inputAccessoryView.layoutMarginsGuide.bottomAnchor,
constant: -8
).isActive = true
}
return _inputAccessoryView
}
override func loadView() {
let tableView = UITableView()
tableView.keyboardDismissMode = .interactive
view = tableView
}
}
class CustomView: UIView {
// this is needed so that the inputAccesoryView is properly sized from the auto layout constraints
// actual value is not important
override var intrinsicContentSize: CGSize {
return CGSize.zero
}
}
Upvote:49
override func didMoveToWindow() {
super.didMoveToWindow()
if #available(iOS 11.0, *) {
if let window = self.window {
self.bottomAnchor.constraintLessThanOrEqualToSystemSpacingBelow(window.safeAreaLayoutGuide.bottomAnchor, multiplier: 1.0).isActive = true
}
}
}
More Answer related to the Same Query
- IPHONE X HOW TO HANDLE VIEW CONTROLLER INPUTACCESSORYVIEW? IN IOS
- GET THE CURRENT VIEW CONTROLLER FROM THE APP DELEGATE IN IOS
- PUSH VIEW FROM PRESENTED VIEW CONTROLLER IN IOS IN IOS
- PREFERRED STATUS BAR STYLE OF VIEW CONTROLLER IS IGNORED WHEN IN NAVIGATION CONTROLLER IN IOS
- DISABLE USER INTERACT IN A VIEW IOS IN IOS
- WHAT TECHNIQUES ARE BEST TO LIVE STREAM IPHONE VIDEO CAMERA DATA TO A COMPUTER? IN IOS
- HOW TO CHANGE THE BOTTOM EDGE COLOR ON THE IPHONE X PROGRAMMATICALLY? IN IOS
Upvote:3
override var canBecomeFirstResponder: Bool {
return true
}
override func viewDidLoad() {
super.viewDidLoad()
becomeFirstResponder()
}
Upvote:3
extension JSQMessagesInputToolbar {
override open func didMoveToWindow() {
super.didMoveToWindow()
if #available(iOS 11.0, *) {
if self.window?.safeAreaLayoutGuide != nil {
self.bottomAnchor.constraintLessThanOrEqualToSystemSpacingBelow((self.window?.safeAreaLayoutGuide.bottomAnchor)!,
multiplier: 1.0).isActive = true
}
}
}
}
More Answer related to the Same Query
- IOS CONTAINER VIEW IN UITABLEVIEWCELL IN IOS
- SUPPORT DIFFERENT ORIENTATION FOR ONLY ONE VIEW IOS 6 IN IOS
- HOW TO USE AVCAPTURESESSION WITH SLIDE OVER AND SPLIT VIEW IN IOS 9? IN IOS
- ANIMATING A SINGLE VIEW BASED ON MULTIPLE SCROLLVIEW(S) IN IOS
- IOS 11 & IPHONE X: UINAVIGATIONBAR'S TOOLBAR SPACING INCORRECT WHEN EMBEDDED IN UITABBARCONTROLLER IN IOS
- HOW TO ADD OVERLAY VIEW IN UIWEBVIEW VIDEO PLAYER? IN IOS
- APP IS BEHAVING DIFFERENT ON IPHONE 5.1 SIMULATOR AND REAL IPHONE 4 WITH IOS 5.1 IN IOS
- HOW TO HANDLE PUSH NOTIFICATIONS IF THE APPLICATION IS ALREADY RUNNING? IN IOS
- IMPLEMENT UIKITDYNAMICS FOR DRAGGING VIEW OFF SCREEN IN IOS
- CONVERT UIKEYBOARDFRAMEENDUSERINFOKEY TO VIEW OR WINDOW COORDINATES IN IOS
Upvote:2
- (void) didMoveToWindow {
[super didMoveToWindow];
if (@available(iOS 11.0, *)) {
self.bottomSpaceConstraint.constant = self.window.safeAreaInsets.bottom;
}
}
Upvote:2
myAccessoryView.toolbar.setItems(myToolbarItems, animated: true)
Upvote:1
let autoSuggestionView = AutoSuggestionView()
// ...
textField.inputAccessoryView = autoSuggestionView
More Answer related to the Same Query
- SUPPORTING IPHONE 6 AND IPHONE 6+ WITH DIFFERENT LAUNCH/SPLASH SCREEN IMAGE FOR IPAD PORTRAIT AND LANDSCAPE ORIENTATIONS IN IOS
- HOW CAN I DETECT WHETHER A USER HAS AN IPHONE 6 PLUS IN STANDARD OR ZOOMED MODE? IN IOS
- ITUNES CONNECT SCREENSHOTS REQUIRE IPAD EVEN THOUGH PROJECT ONLY FOR IPHONE IN IOS
- HOW TO PREVENT GAP BETWEEN UINAVIGATIONBAR AND VIEW IN IOS 13? IN IOS
- HOW TO USE CRASHLYTICS WITH IOS / OS X TODAY VIEW EXTENSIONS? IN IOS
- HOW TO SIMULATE IPHONE BEING PUT TO SLEEP IN IOS SIMULATOR? IN IOS
- IOS 7 - CAN'T SET FONT COLOR OF UITEXTVIEW IN CUSTOM UITABLEVIEW CELL IN IOS
- NO "IOS DEVELOPMENT" SIGNING CERTIFICATE MATCHING TEAM ID "*****"WITH A PRIVATE KEY WAS FOUND IN IOS
- USING CORE DATA WITH WATCHOS 2.0 IN IOS
- TOUCHSCREEN GESTURES LIST AND NAMES IN IOS
Upvote:1
autoresizingMask = [.flexibleHeight]
Upvote:0
override var intrinsicContentSize: CGSize {
return .zero
}
Upvote:-1
pod 'JSQMessagesViewController', :git => 'https://github.com/Tulleb/JSQMessagesViewController.git', :branch => 'develop', :inhibit_warnings => true
Credit Goes to: stackoverflow.com
Related question with same questions but different answers
- UICOLLECTIONVIEWCELL SHAKE IN IOS
- HOW TO LIMIT THE RESULT COUNT OF NSFETCHREQUEST? IN IOS
- ISSUE WHEN CREATING MY FIRST COCOAPOD IN IOS
- GOOGLEMAPS (GMSVIEW) WON'T DISPLAY IN IOS IN IOS
- PLAYING LOCAL SOUND IN PHONEGAP IN IOS
- SET IPHONE ACCELEROMETER TO ±8G MODE IN IOS
- HOW TO IMPROVE ACCURACY OF TENSORFLOW CAMERA DEMO ON IOS FOR RETRAINED GRAPH IN IOS
- DEFAULT VALUE OF MAXCONCURRENTOPERATIONCOUNT FOR NSOPERATIONQUEUE IN IOS
- HOW TO UPLOAD IMAGES TO A SERVER IN IOS WITH SWIFT? IN IOS
- DETECTING HEART RATE USING THE CAMERA IN IOS
- CONTINUEUSERACTIVITY NOT CALLED FROM SEARCH CLOSED APP IN IOS
- HOW TO MIMIC KEYBOARD ANIMATION ON IOS 7 TO ADD "DONE" BUTTON TO NUMERIC KEYBOARD? IN IOS
- MOBILE SAFARI PAGE UNLOAD/HIDE/BLUR FOR DEEP LINKING IN IOS
- IOS PUSH NOTIFICATION CUSTOM FORMAT IN IOS
- ALLOW UNVERIFIED SSL CERTIFICATE IN UIWEBVIEW IN IOS
- HOW DO I EASILY SUPPORT LIGHT AND DARK MODE WITH A CUSTOM COLOR USED IN MY APP? IN IOS
- MAKING A BUTTON CALL A PHONE NUMBER IN IOS IN IOS
- HOW TO SEARCH AN ARRAY CONTAINING STRUCT ELEMENTS IN SWIFT? IN IOS
- SWIFT MANAGING MEMORY IN IOS
- EMBEDDING YOUTUBE VIDEOS ON IN IOS
- IOS - INTEGRATING CREDIT CARD PAYMENTS IN IOS
- HOW TO IMPLEMENT AUTO-COMPLETE FOR ADDRESS USING APPLE MAP KIT IN IOS
- 'REQUIRED' INITIALIZER 'INIT(CODER:)' MUST BE PROVIDED BY SUBCLASS OF 'UITABLEVIEWCELL'` IN IOS
- XCODE 11 BETA 5 NOT SHOWING SWIFT 5.1 IN IOS
- METHOD LOAD() DEFINES OBJECTIVE-C CLASS METHOD 'LOAD', WHICH IS NOT PERMITTED BY SWIFT 1.2 IN IOS