Use UISegmentedControl to build a menu like this? - ios

I'm trying to build a menu like this with Xcode 13 Swift 5.
Each item has different width, but the margin between two items are always the same. Additionally, the highlighting is also dynamic to text width. There will also views attached to each selected item.
Would it be possible to achieve it with UISegmentedControl?
thanks!

You can achieve this using UIStackview.
Look at the configuration that I have developed for you. Selected font color of the button is white and background color black otherwise font color black and bg blue. On selecting any button deselect the previous one, and boom: achieved.

Related

How to select color from the given image for Storyboard?

Our UI give me a image, which have the app main color.
And I use the color meter to select the color:
But, after I set the color to the storyboard (hint color), and run it in simulator, I get the different between them:
Left is UI given image, right is simulator, why there is so big difference here? How can I avoid it?
It seems that your navigationBar is set to translucent. You can change it as in this image
That should be it. Happy Coding.

UITableViewCell Detail Text Label Text Color

I have noticed that if I instantiate UITableViewCell instances programmatically, specifying the style .value1 (UITableViewCellStyleValue1), the main text label text color is black, but the detail text label text color is a light shade of gray (not quite exactly UIColor.gray or UIColor.lightGray, though).
However, if I use a storyboard with prototype, static cells and set their Style attribute to "Right Detail" (which appears to be the Interface Builder equivalent of .value1), both labels are black.
I can navigate the cell's subviews all the way to the label and change the text color in the attribute inspector, but I'm not sure the color preset is there.
Is there a right way to unify the appearances of cells in both scenarios, while keeping the traditional gray color in the detail text label?
(I would use dynamic cells and instantiate them programmatically, but this one view controller just happens to have these off-the-shelf cells side-by-side with more complex, custom cells.)
I was also annoyed by the same problem.
Finally I found that Xcode 7.3.1 generated a detail text label with text color R:142, G:142, B:147 (#8E8E93).
Xcode 8.2 generates it with black text color. ('Default', to be exact)
Anyway, changing the label's color to R:142, G:142, B:147 (#8E8E93) is an appropriate one, I think so.
I had the same issue and logged a bug report in the Apple Bug Reporter. My bug report was closed with the comments "Duplicate of 28317724 (Open)". I am not sure if bug reports other than your own are visible, the system does not appear to be very transparent.

Disable the background of a uibutton

I have a circular custom menu with several buttons (with image and text). To not cut title, I had to unlarge button size, but the background of few buttons overlay partially the image or title of other button. That why I'd like to disable the background of buttons, or make image and/title only active.
How can I do?
Thanks
As others have mentioned, you could change the background color quite easily with the following:
Swift 3.0
buttonName.backgroundColor = UIColor.clear
Swift 2.2 and prior
buttonName.backgroundColor = UIColor.clearColor()
Are your buttons overlapping because they're crowded? If so then from a design point of view I'd look at redesigning that aspect. Users may be misclicking if you have a number of overlapping crowded buttons.
I let backgroungColor to gray just to show you. I create buttons with a specific width in order the title is well writen. Maybe I can calculate the exact width of the title and attribute it to the button. That would solve partially the problem.

How do I replicate the iOS keyboard appearance?

I have made a custom number pad keypad for my iOS app, but want it to more closely mirror the appearance of the standard keyboard. I am looking for advice on how to make a standard UIButton look and act like the standard keyboard buttons.
Specifically, I need to figure out the following for the iPad and would like to do as much as possible in an xib or storyboard.
The size of the buttons
The color of the keyboard background (or even better, how can I determine this myself?)
The background color of the button
The font and color of the text in the button
How do I add the shadow under the button?
How do I have the button highlight with the grey color instead of blue?
The spacing between the buttons
How do I keep the "group" of buttons centered as a whole when changing the orientation? (all of the resizing options anchor it to a side and not to each other)
Do the standard buttons use images, or do they modify standard UIButton's? Or more appropriately, which is better for us to do?
UPDATE:
I have created a project for the number pad which is a complete working example. However, I have not spent much time on the actual appearance, which is what this question was mainly about. I have posted it on Github and made it an open source project (covered by the MIT licence, so commercial use is allowed as well). Hopefully other people will find it useful, and hopefully others will feel inclined to help make it better and look more like the native keyboard. The Github repository is at:
https://github.com/lnafziger/Numberpad
If you want to do it mostly in IB, then the following can be done:
Size
Colours
Background Color
Font
Text Color
Shadow (to UILabel's not UITextArea)
Spacing
AutoSizing
There is a cool PSD vector kit for all types of iOS elements that should help:
http://www.smashingmagazine.com/2008/11/26/iphone-psd-vector-kit/
Anyway, to the rest of the answers:
Size
Take a screenshot of the buttons and determine the size in Photoshop, or you can use CMD+i on the image file to see the pixel dimensions. Remember to use CMD+Shift+4 and then drag (and then Space to make the screenshot).
Colours
Use the DigitalColor Meter app that's preinstalled on the Mac, it's pretty cool for all kinds of functions.
Background Color for UIButton
The actual UIButton will have a background color of [UIColor clear], however, for the whole keyboard background, it would be best to create something similar in Photoshop and again using color pickers to get the right gradients. Then you could drag this into IB as a background image.
Font
Again, have a look at fonts/try Helvetica
Text Color
[UIColor black]
Shadow:
Programmatically:
[text setShadowOffset:(0,1)]; // One option
[text setShadowOffset:(0,-1); // Another option
[text setShadowColor:[UIColor whiteColor]];
But, you can also set the shadow in the IB inspector for a UILabel.
Button highlight
Look at the UIButton reference
http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIButton_Class/UIButton/UIButton.html
Spacing & Rotation
If your using IB, then you could just drag on the buttons to whatever location.. IB has some autosizing options that determine where the buttons are spaced according to the TOP, LEFT, RIGHT and BOTTOM. You can also set if they are stretchable or not.

Changing the color of the selected item in a UISegmentControl

I have a UISegmentedControl with a black tint so the selected element is not visually different to the other elements as iOS darkens the selected item and hence black remains unchanged. Does anyone know how to make the selected element a lighter color/shade without using undocumented methods? I have successfully achieved this with a graduated layer but there must be an easier way!
Here is an description how you can set an tintcolor for each segment.
http://www.framewreck.net/2010/07/custom-tintcolor-for-each-segment-of.html

Resources