How To give space tableview top and bottom 10 space in swift - uitableview

I Tried to give space like this self.tableView.contentInset = UIEdgeInsets(top: 20, left: 0, bottom: 20, right: 0)
but its not taking can any one suggests how to do that i need space in top of Types of homes . this form design in table view enter image description here

Related

How to set maximum width of message bubbles in MessageKit

I have been using MessageKit for my live chat feature for my application. One of the issues I am running into is that long messages just look very weird on the screen as the width of the bubbles doesn't seem to be restricted. I wanted to figure out a way to be able to set the maximum width of the chat bubbles so that they format more like a text conversation on the native imessage application.
Currently my messages look like this, but I would want the message below to be less wide and taller:
You can adjust the right/left padding for incoming/outgoing messages respectively.
The default padding is:
public var incomingMessagePadding = UIEdgeInsets(top: 0, left: 4, bottom: 0, right: 30)
public var outgoingMessagePadding = UIEdgeInsets(top: 0, left: 30, bottom: 0, right: 4)
And you can set the padding on the layout object in your messages view controller like this:
let layout = messagesCollectionView.collectionViewLayout as? MessagesCollectionViewFlowLayout
layout?.setMessageIncomingMessagePadding(UIEdgeInsets(top: 0, left: 4, bottom: 0, right: 50))
layout?.setMessageOutgoingMessagePadding(UIEdgeInsets(top: 0, left: 60, bottom: 0, right: 4))
You can see more examples of layout changes in the AdvancedExampleViewController in the MessageKit example project.
It seems that the library that you are using has already a width set, but in my chat (which is customised) I have a greater than or equal than 0 width constraint a a less than or equal than MAX_WIDTH constraint a leading constraint = 0 and a 'trailing constraint = 0' and those last two I get rid of the leading or trailing depending on if it is the sender or receiver of the message.

UITableView Separator Inset Reference not working in storyboard

I want to inset the table view separator by 10 points from the current automatic inset so it respects the safe area etc. but when I set it in the storyboard it doesn't work as documented.
Turns out the settings in the storyboard are not being respected.
When I added the settings in code then it worked as expected.
tableView.separatorInsetReference = .fromAutomaticInsets
tableView.separatorInset = .init(top: 0, left: 10, bottom: 0, right: 0)

UITabBarController extra space from top, bottom, leading, traling

Hello All i am creating Tab bar programmatically, in my functionality there need to be selected tab filled with custom color, i have achieved this so far using below code and the following output see screenshot.
tabBarController.tabBar.selectionIndicatorImage = UIImage.imageWithColor(color: colors.AppSkyBlue, size: tabBarItemSize).resizableImage(withCapInsets: UIEdgeInsets(top: 1, left: 1, bottom: 1, right: 1), resizingMode: .stretch)
Clearly see the white space be around selected tab, ho do i remove this from all side. Any help would be appreciated well.
You Could simple add a subview on top of UITabBar and give the bg color same as the color of tab bar - so it blends with it
var lineView = UIView(frame: CGRect(x: 0, y: 0, width:tabBarController.tabBar.frame.size.width, height: 1))
lineView.backgroundColor = UIColor.grey
tabBarController.tabBar.addSubview(lineView)
This is one of the options.

ios scrollIndicatorInsets won't go beyond scrollview bounds

I want to put scrollViewIndicator just a bit more outside(right) of scrollView. But It doesn't go even if I set self.mainMenuCollectionView.scrollIndicatorInsets = UIEdgeInsetsMake(0, 10, 0, 0);. It might because of inset works as padding and not going out of bounds of scrollView. It stays in the border.
It works for putting indise(left) of the view.
It would be really helpful if you know how can I achieve that.
N: normal
S: It is possible
W: How I want
You need to setup opposite side with minus sign like:
self.mainMenuCollectionView.scrollIndicatorInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: -10)
Don't forget disable clipsToBounds for getting visible subviews outside:
self.mainMenuCollectionView.clipsToBounds = false

TextView And Its Content

I want to place information text in main scene of the application. When ı place a text view, its content starts at the middle. There is a between the text and top boundary of the TextView.
How can I make the text start at the first line of the TextView ?
You can set the contentOffset property of textView to zero like
textView.setContentOffset(CGPoint.zero, animated: false)
Swift 3
textView.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)

Resources