UITextBox Height - iphone

I have a question about altering the height of a UITextField. I have already made the object in Interface Builder and the height is fixed as 31. I have searched around on the net and this doesnt seem to be a popular thing to do.
link to apple dev page
Regards #norskben.

OK, I answered my own question.
The default textfield with the curly edges is the only one that cant be resized.
Design wise I am using a label to provide a white backing.
Source

Related

how to make a custom horizontal alignment in mlreportgen.dom.*?

How to make custom text and image alignment in
mlreportgen.dom.*
I used
HAlign()
but it is only having 'center','left','right' is there any method to customize this? any solution will be appreciated
I asked this same question in Matworks community also and i got the answer as till now mlreportgen.dom.* only support left,right and centre.
coustomization is not supported till now.

UIStackView and Multiline Labels?

I've tried to get this to work but interface builder is doing my head in and I was wondering if anyone has a proper solution for this.
So I want to have a stackview that contains a label with multiple lines inside. The first hit on google (read here) tells you to embed the label within a view (A), then drag that view into another view (B) (because the embedded view (A) has a 20pixel pad) and then unembed the first view (A).... voila. Except this only tricks the stackview for horizontal stacks and if you continue to stack the view you will still have a ton of problems (I will demonstrate with screenshots later in the question).
I found another guide on google that criticizes a potential fix for the problem, fixing the stackviews width. The author makes the point that Apple didn't intend for you to be doing that, after all it's supposed to be auto layout, not fixed layout. This guide theorises that the issue is just a bug and that you can create a stackview with a single line label, set it all up and THEN add the multiple lines. I tried this and it didn't work, it simply messed the entire stack view up! The stack view will warp and essentially break unless the label has number of lines set to 1 and only 1. (Image 1) Stackview with label set to have multiple lines.
So I talked earlier about embedding the paragraph label within a view. This doesn't cause any errors in the storyboard,(Image 2) you can't really align the text properly with the other UIStacks but that's not an immediate problem for me to solve. What IS a problem is what happens at runtime....
Simulator, Portrait (Image 3), Simulator, Landscape (Image 4).
I tried running this on an actual device to see if it was just a simulator bug but the same thing happened on my iphone 6. Safe to say this is probably not going to work!
Oh and just before we go any further, I am building the stack views in the following way:
[name - placeholder]
[phone - placeholder]
[address - placeholder]
, setting a spacing of 8 and equal fill
,vertically stacking all of these stacks (3 into 1) and setting a spacing of 8
, vertically stacking the details titles with the big stack and 8 spacing
,finally adding the title and button into the stack view with a spacing of 32.
I then apply some storyboard constraints: in this case just centre vertically & horizontally, so the view is always centred and displays properly in both screen orientations.
Even though this isn't aligned properly, this is the view before applying the stacks and constraints, this is what I want my endgame to look like: Looks kind of silly, but I want to figure this out so I can actually stack my paragraphs! (Image - 5).
So now hopefully I've established that you can't really embed the label within a view as it doesn't render correctly at runtime, and you can't trick the stack into adding new lines.
How do I put a label with multiple lines into a stack view safely?
This is almost an offshoot question but when you try applying a stack to a paragraphed label, it sets the width of the label to be absolutely massive (sometimes it throws an error that interface builder can't render it Demonstrated here (Image 6). I've seen this happen a few times and don't really understand how xcode thinks that is a sensible option.
I don't want to apply fixed widths to my labels or stacks because I'll only be left with another warning, and warnings are bad!
I'm pretty lost at what to do, if anyone knows of a way this can be achieved I would be eternally grateful!
Thanks
This really seems to be a bug.
A workaround that works for me is embedding the multiline label in a view and leaving it there.
That fixes the layout on the Storyboard editor and also works in the simulator.
A weird thing is that if I have several multiline labels on the same StackView I only have to embed one of them in a UIView, and then all the other multiline labels will behave properly.
While I do agree this is an issue in UIStackView as layouting should work according to the intrinsic size of the UILabel.
When using stackview with multiline label, it is not able to update its size according to the label.
For resolving this issue, use preferredMaxLayoutWidth property of the label and set it to any value.
label.preferredMaxLayoutWidth = 1
Note: This even worked for me when I set it to 1
The preferredMaxLayoutWidth property as defined in the Apple Docs:
This property affects the size of the label when layout constraints are applied to it. During layout, if the text extends beyond the width specified by this property, the additional text flows to one or more new lines, increasing the height of the label.
which we do want to increase for a vertical UIStackView.
the solution is about embedding the UILabel inside "view without inset".
and then update your constraints.

Add text reflection to UITextField

I am developing an app in which there is a requirement in which there is a text in text view. I have to give mirror effect to that text view text. I am searching on Google but can't find any solution.
How can I solve it? Thanks in advance.
Add a UILabel right beneath the text field. Apply a scale transformation to mirror it. Scale the y axis by -1 and the x axis by 1. Then all you have to do is update the text in the label every time the text field changes.
Check out this Demo project. It has what you want.
I wrote a blog post awhile ago that uses a view's CAReplicatorLayer. It's designed for handling dynamics updates to a view with reflection. The post uses a UIWebView, but you could just use a UITextView instead.

Make UITextView scrollable

This seems so dumb, but I checked all the boxes that I have found as "solutions" to similar problems but nothing is quite working. I have a UITextView box that I want to be scrollable, and my settings are below. Anyone know why it isn't letting me scroll?
Please also make sure that User Interaction Enabled is checked in .xib file
I also had a problem with an unscrollable UITextView, but the other answers here didn't help (granted it was a special case: I only needed to scroll when the app was viewed horizontally).
Just in case anyone has a similar problem and lands here: what did help me was to activate vertical Autosizing (Size Inspector under View) for the textview.
Make sure you have text in your UITextView
Check to see if the UITextView is enabled (there's a property in settings) - it should be enabled.
Make sure you don't change these settings (or the "Scrolling Enabled" property) in your code.
Good luck !
you have to actually have texts inside the textview that overlap it original frame height to make it scrollable

Smartgwt - create a panel with title and a border

This sounds like a pretty simple thing to do but I havent been able to find an easy way to do this. How do I create a panel with a title and a border which can contain my widgets? I have seen the SectionStack class which provides this. But I dont want to create a section stack.
Window can be added to a layout and drawn. But is it the only way or is there a container class that I am missing?
Also, how does one center things? Say a textfield and a button at the center of the page. How is this achieved?
If you are using a DynamicForm, you can give it a border and title with
form.setIsGroup(true);
form.setGroupTitle(title);
This actually works for Canvas, too (which is the superclass of most widgets and layouts in SmartGWT).
(I just had the same problem, and found this question, as well as the thread Is there a "titled Border" on the SmartGWT Forums, which gave this answer. I tried and it seems to work.)
To do form-related tasks, look into DynamicForm. To set the inputs in the form, you use setItems(Item...). A text field is a TextItem. You set it's title to control the label that SmartGWT will build. To get a title for the form, the best I've come up with is to use a container canvas that will contain both the title (probably a Label element) and the DynamicForm. To center the inputs, I believe you'd need to use setAlignment on the DynamicForm.
You could create an object that is actually a VLayout that contains a Label (the tile), has a border as you need and includes a Canvas (the generic stuff you want included).
In my experience, I noticed that very often I have a DynamicForm visible, so I just add a BlurbItem control to diplay the tile and a small explanation.