I've had this app on app store with no problem until iphone 4 came out.
My home page has an image covering the whole screen.
UIImageView added in interface builder, and image path added in interface builder.
In all phones this image shows up; however, the image does not show up in any iphone 4, and instead the user sees a blank screen like the following:
Anybody knows what's causing this? thanks
.
I only have 1 set of images with
normal resolution
This problem only happens to one of
the images in my application which is
the background for my home page
the graphic file should not be
corrupted because the exact same
image works for all other iphones and
itouches
my image is a jpg file
image size is 480x270, which in
interface builder i make it 563x330 to display only a part of it
I have no outlet to this uiimageview
so it cannot be changed in code
With devices with the new retina display, pixel sizes are different and you have to check for the following, in particular:
Do you provide two alternatives of the image, one at old resolution, one at double resolution (named myimage.png and myimage#2x.png)
If not, does your image scale up well in size with CoreGraphics's algorithms (there are some pathological cases, though you'd have to be quite unlucky)?
Have you checked what happens (at both resolutions) when your UIImageView size changes?
Is it just one image, or all?
Is your graphics file corrupted?
It's hard to tell if it's any of these points, or something else, because you provide so damn little detail, that I stick to generic things. Comment below (or edit your question) if you need more help.
I've got two things to add to FXs thorough answer:
Considering the information you added, I would take a look at your code for setting up that UIImageView. Perhaps you use some sort of detection code or something which wasn't implemented correctly.
Would you mind sharing some code snippets?
According to Apple's documentation, you don't need to provide the ".png" extension as of iOS 4. Perhaps that is causing the problem.
Again, code snippets would help here. Specifically where you deal with loading up your image file.
EDIT:
Try re-saving the image and replacing it. I've occasionally corrupted files in Photoshop. This has to do with file extensions and how Mac OS ignores them, but Photoshop still uses them.
Also, it could have to do with where the image is in your XCode project. Check what Group it is in. Make sure everything is in place and then Clean and Rebuild. Remove the app from the iPhone4 (reboot) and try reinstalling.
I hope this helps.
Good luck!
If this was my code, I'd write a tiny app just to display the image in question. If it still fails it would be easier to get help debugging the problem.
Related
We’ve had a recent issue with some asset images, where the Retina #2x version was being used on non-Retina devices. The Retina and non-Retina versions of the assets exist. We’ve tracked the problem down to compression, so we’re able avoid it for now, but if anyone has additional insights, I’d love to hear them.
The icons on the left show how they’re rendering inside the running app. The Retina assets are being used on a non-Retina screen, so they’re being scaled down to 50%, which is causing some blurry edges.
The icons on the right are the original assets.
This is only happening to some assets. Most of the app is okay. We’ve been using ImageOptim to compress the PNGs used in the app. ImageOptim is using a variety of compression combinations for the assets. These are the common best results:
PNGOUT
PNGOUT+AdvPNG
PNGOUT+Zopfli
AdvPNG+Zopfli
The assets that have problems all seem to be using PNGOUT+Zopfli, but not all assets with PNGOUT+Zopfli are bad. I am not 100% confident with this diagnosis though.
Given that the issue isn’t always easy to spot, and given I don’t know exactly what’s wrong, we’ve unfortunately decided to not compress our new PNGs used in Mac apps. This is a shame, because the space savings are good.
We’ve tried a few different Xcode project settings, including turning Combine High Resolution Artwork on and off.
I’d like some answers, but I am also posting here so there’s some information that may help others with this issue, even if I only have a partial solution.
Have you seen this issue before?
If you have seen it, do you have a solution?
By default, NSImage representations are chosen using color type and resolution [1]. In case of PNG files, there are situations when a more generic color type gives a smaller file. This is what causes the mixed color types between representations.
You need to set prefersColorMatch to NO. There are User Defined Runtime Attributes to do it without leaving Interface Builder. This will fix the issue.
How to set prefersColorMatch in Interface Builder
More information about the bug can be found here:
OS X doesn't like mixed types of PNGs.
Retina version of an image always used on non-retina display
It looks like there is no solution, except to force the same color_type for the PNG pairs.
Is it possible to localize the Launchscreen in storyboard?
I have an image for English and for French, I need to localize them in Launchscreen.
Please this is important to solve this issue by any means.
If there is any tips or trick, please let me know...
UPDATE
#Martin R This topic is not duplicate, you are refereing a solution of older xcode.
Older xcode we used to use Default.png, but newer xcode we use LaunchScreen.storyboard.
How can we localize the LaunchScreen.storyboard if I have two images of 2 different languages?
I had the same problem, I find all the documents has not found the contents of the localization of Launchscreen.
Here my situation:
The document of Launch screen (Launch Screen) suggest using static images:
Avoid including text on your launch screen. Because launch screens are
static, any displayed text won’t be localised.
It’s best to use an Xcode storyboard for your launch screen, but you can provide a set of static images if necessary. Create static
images in different sizes for different devices, and be sure to
include the status bar region.
It does not say whether the picture can be localized,so I localised the launch image resources like this: Launch image multiple language. But I failed like this Can't get correct localized launch images on IOS 9.
It's launch images can't be localized: Localized launch images were never officially supported?
I have a brand new Swift 2.0 XCode 7 Storyboard based application.
Target is set to 9.2. I'm currently supporting any device with GPS that can run ios 9.2
I started with the Tabbed View Template and I'm working in wAny and hAny and a single Storyboard.
It works fine in the simulator on a bunch of phones, both orientations and works fine on my 6s plus, 6s, 6 plus and a 5.
But for some users the scaling is wrong and everything comes out squished.
Even in landscape mode the TabBar Icons are very close to each other.
Narrower than even on my 6s plus in portrait.
I believe this is caused by my application not having a Launch bitmap.
My understanding is there are two ways to implement this.
Launcher .XIB/.NIB with half a dozen specific sized bitmaps attached. Or a StoryBoard Launcher with ... exactly what.
The "Or StoryBoard" is a little vague. But I wanted to keep things using the modern approach since this app is new and targeted users tend to have the latest device.
So I created my Launch Image set and tried to attached it to the UIImageView in the Launcher StoryBoard. It won't list items that are tagged as "Launcher Image Set". It will show other Image Sets and Icons. But not the ones specifically for Launcher. It shows an "L" in the xcassets list next to the Launcher Image set. I believe I have the build project setting set correctly and it looks perfect on many of the same exact devices.
After some digging, I read that if you use the "StoryBoard" method you don't need the 6 or so bitmaps anymore. You can put anything in the Storyboard Launcher View and treat it just like you would treat your main storyboard.
So I did that. I just centered a small image.png file in the View of the Launchers Storyboard. Works on all simulations and my iPhone 6s plus. I did not pin it to the edges because that would mess up the aspect ratio of the image.
A very small set of users still have the issue and one of them even uninstalled and reinstalled.
I tried playing with setting phone Zoomed, Normal, Text Size, Bold etc. They all work. Users also don't have anything out of the ordinary on these system settings.
So first, do I need the 6 proper sized bitmaps or not? I read conflicting info on this.
If I want to use the 6 images on a storyboard how to I get them in the UIImageView of the Launcher StoryBoard if they won't list? Should I put them in a regular image set. Does the "Launcher Image Set" only work for the for the Launcher.XIB?
If it's not the Launcher window, what else could it be causing this?
I know I could create a XIB/NIB with the 6 bitmaps. But that seems like I'm going backwards and I don't care about old OS versions or older phones.
I think I found my answer. When using a Storyboard Launcher you cannot use a "Launch Image Set" for your Launcher Storyboard. You have to use an Image Set.
This is the best Video I found that covers it A-Z.
https://www.youtube.com/watch?v=Vz6tCgXgZFo
It also didn't fix my initial problem. Which I'll post separately. It scales correct in Portrait but not in Landscape for hand full of users. Using the same hardware as others that it works fine on.
I have created a gif in photoshop. It has two frames displayed for 4 seconds each and is on a loop forever.
For some reason the image freezes on the second frame and does not continue to load in some browsers (The exact information about browsers and / or versions is unclear at the moment but it has happened in the latest version of chrome).
The image is embedded in the code in the standard way, no javascript is used and nothing is changing the element.
Does anyone have any idea what could be causing this? Everything I have searched for so far seems to result in people saying "Oh, I forgot to put make the gif loop forever" instead of any real reasons for causing this problem.
Thank you for your help!
Edit: Sorry I didn't think about putting an image in the original post. He is an example of one advert which doesn't seem to work.
Because the current image displays correctly in everything I've tryed so far, try to create image in different application.
Some applications you may try:
GIMP - tutorial
Some freeware crap.
I'd vote for GIMP. Its complicated, but its free and it has wide user suport.
If you still fail...
Now its time to check the enviroment. First, open the image on different machine. Maybe there is something wrong with your browser instalation. In this case, reinstall.
Try to upload on different server. Maybe your browser does not correctly decompress deflated data or has other communication issues.
Anyone know of a Flash file (image) uploader that will force a user to resize and/or crop their image BEFORE uploading it? To then upload it as well.
Basically, I don't want my server processing the image resize/crop. I want to specify a target aspect ratio and have the user resize and crop their image to make it fit.
I've seen cropping uploaders before but they all seem to be server side. I saw a Flex one but I'm not sure it's "mandatory" -- Basically if the user just uploads the image without making edits, then I'd like the Flash to scale and fit the image into set dimensions...Leaving it I guess short in one direction to not stretch.
Anything like this out there?
Thanks!
I have a bounty running with a very similar question, be sure to take a peek - there isn't anything there yet that does client side resizing, though.
Also, SWFUpload is said to support it in the new Beta, but the feature is very sparsely documented right now. You would probably have to work on it to get it running the way you want.
http://www.adylevy.com/index.php/2009/07/22/multiple-files-uploader-with-preview-on-client-side/
there was another one called resize before upload but the site went down. though while I'm updating this and we're on the subject -- I don't see why you'd want to use Flash these days for this task. There are plenty of JavaScript options and now we also have Google's Dart (which builds JavaScript).