In my app I use a UIPopoverController with an embedded UINaviagtionController to show a single line UITextField to enter a number. This kind of input was working up to iOS 7.1. Since iOS 8.0 the size of the UITextField is wrong. I tried out to change the AutoresizingMask, Frame, EdgesForExtendedLayout, ... but nothing is working.
As you can see in the screenshots bellow, there is a strange behaviour.
A sample project for Xamarin.iOS is available: http://www.danflash.com/files/dev/PopoverTest.zip
I have found the issue. I had to set contentViewController.EdgesForExtendedLayout = UIRectEdge.None; within the method:
public static PopoverInputController GetPopoverController(...)
It seems that Apple did some more changes to the UI regarding the layout stuff as expected.
Related
I am using https://github.com/Ramotion/folding-cell library into my Swift 3.0 projects. It works nice without any editing or changing on storyboard/auto layout changing.
I faced some issues when tried to:
Add few IBOUTLET (in DemoCell.swift)
Add Data to them (in DemoCell's didSet() method)
Now the view is blank. But i can scroll the tableview(it is just not showing), can click and can see folded cell perfectly.
I tried to add constrains as it given in documentation. I get fatal crash.
I am using Xcode 8, swift 3.0. This is happen always even when i download the fresh source code and add new uilabel or anything change on storyboard.
Does anybody tried this library recently ?
Blank Screenshot:
When click in the cell, Other cell is hidden.But clickable.
Foreground view:
It was an issue with the library. Now its solved.
Thread: https://github.com/Ramotion/folding-cell/issues/69#event-819438913
I am NOT using auto layouts and this is how the UIDatePicker is appearing in my app on iOS 9. The picker is looking flawless in iOS 8 but the problem is only with iOS 9. Any idea how to resolve this.. (P.S using auto layouts in not a solution at the moment for me.)
In the viewDidLoad() method, change a property of the date picker, for example the mode. Note that, You don't have to leave it changed, you can set it to anything and then change it back to what you actually want.
I am sure, this solution is helps you.
My app is getting crash on iOS7
In my app, I have language option. One is English and other is Kannada.
When user selects Kannada, all text turns into Kannada. I have one textview in which I have added static text in Kannada.
When user navigates to that view, the app crashes on iOS7 , while on iOS8 it's working fine.
I am not getting any log for crash. I can only see EXC_BAD_ACCESS (code = 1, ...) . I have tried it by keeping "Enable Zombies" option, still not getting any log in console.
P.S. - I have static text in textview. I am not adding text dynamically. I am just hiding/un-hiding textviews. I can see and read the text in Kannada in my textview in storyboard.
It may be a strange behavior in iOS 7, and it seems to be a bug in the way NSLayoutManager layouts the text for Kannada language. As other answers pointed out, UITextView is build around TextKit since iOS7, and thus uses NSLayoutManager internally to layout text.
I have an UITableView with three dynamic rows. When displaying the UITableViewController the first time everything works fine. After a rotation the rows which have a data in it get an indentation despite I set setLayoutMargins to zero. I cannot reproduce this issue in another project until now. It is only appearing in iOS 8 but but only on one table. The same source for the table is working in a test project without problems. The only difference here is that it is in a container with some other views.
I checked auto layout constraints, the rotation methods, commented things out - all without success. The change of the indentation occurs between willRotateToInterfaceOrientation and didRotateToInterfaceOrientation or after viewWillTransitionToSize. I even updated to iOS 8.1 with the same results.
Has someone expeerienced a similar behavior?
PS:
What I've also noticed that when setting the layout margins to zero on iOS 8 the animation is not as smooth as it would be with the default values (with indentation). On iOS 7 the animation is always smooth.
EDIT:
I tracked some things down. If a UITableViewController is embedded into an UINavigationController the indentation happens on rotation. If you rotate further it goes back to it's set indentation (no indentation in my case).
If the UITableViewController is embedded into a container (and this container is in a navigation controller) than after the rotation the cell get it's default indentation back. If you rotate further this behavior stays the same (always indented).
Are some events not send to the child view controller or none of you uses a UITableViewController embedded into an UINavigationController?
In my opinion it is a iOS 8 Bug or a Xamarin Bug. Perhaps one other could verify if it is the same with his installation. I'm using Xamarin Studio 5.5.2 with Xcode 6.1.
One ugly solution to this is this:
public override void DidRotate (UIInterfaceOrientation fromInterfaceOrientation)
{
base.DidRotate (fromInterfaceOrientation);
// otherwise cells are indented! iOS 8 Bug?
TableView.ReloadData ();
}
One could use reloadData or reloadSection in didRotateFromInterfaceOrientation, despite it is a deprecated function. But there is no viewDidTransitionToSize and I also have to support iOS 7.
Edit:
Another solution I have come up with is to draw a custom separator line. This only works for iOS 8 and would answer the question (despite I've another issue on iOS 7 where this approach doesn't help).
I am using monotouch 4.0.7 and was able to get iAd to show up sucessfully on iPhone(normal) and iPhone(retina).
It seems that the iPad version is loaded successfully, clickable but it's completely empty. In the emulator it has the mousedown color too.
I've tried extending the frame of both the view controller and the view to 1024x768 but it's still not showing up.
Is this normal behavior in Portrait mode? I am using ADBannerContentSizeIdentifierPortrait.
By the way, AdLoaded is getting called and there are no warnings in application output.
I've been looking into the issue, the problem (I'm guessing) is that you're using "ADBannerContentSizeIdentifierPortrait" as the identifier in your "RequiredContentSizeIdentifiers" set. The problem is that the string is not the same as the identifier. You should instead use the class properties on ADBannerView which are ADBannerView.SizeIdentifierPortrait or ADBannerView.SizeIdentifierLandscape.
Let me know if this sorts out your issue,
ChrisNTR