Items Greyed Out in Xcode After Copying Between Storyboards - swift

I have two storyboards and copied and pasted a view from one to the other. It still works normally however all of the items are greyed out like it is in the wrong size configuration. You can see my picture below showing the problem. I have the width and height set to exactly the same in both storyboards but Xcode is acting like it is in the wrong configuration to edit. (Yes, I've tried changing the configuration but all of them still present greyed out items).

Related

I can't connect objects from storyboard to controller

I have a project in Xcode (I'm relatively new to Swift).
I was adding objects (text fields and labels to my storyboard).
I started connecting the text fields and labels to the code (control+drag). I was able to perform this several times.
Now all of a sudden, I can no longer perform this action (connect an outlet to my code).
Add a screenshot of the error, although it simply looks like all the others posted.
I have closed the project, closed Xcode, deleted the text field (then re-added to storyboard), tried connecting. I have seen suggestions about Rebuilding the project (I have done that and can use the app on the simulator). I have seen suggestions about changing the Custom Class value of the text field, but that doesn't make sense to me and Xcode doesn't appear to allow that.
Somehow I have changed something that I am unaware of what I did. I have been messing with this for about an hour now. I have read many other posts here and on the web, but none of those methods have resolved my issue.
Apparently I needed to delete the "Derived Data" associated with my project.
Xcode -> Preferences -> Locations
Under Derived Data, use/select small arrow at the end of the path name to display the folder in Finder.
Close Xcode.
Then, delete that folder (or project specific).
After doing this, my problem was solved. I don't know what is in "Derived Data".
Deleting the derived data sure will work. However you may also write the #IBOutlet variable in the code first the same way Xcode creates it and then you should be able to simply connect the outlet to it.

Xcode Base internationalization doesn't work

I'm trying to localize my app.
I noticed that if I add a language every localized file become doubled.
In this way it's impossible to maintain code or storyboard so I learnt that I need Base internationalization.
The problem is that when I select that checkbox in xcode project setting it shows a window without nothing to select, does anyone know how to fix this?
Here's a screenshot
First, you need to go to your storyboard file, open the bar on the right side, and go to Show the File Inspector, the furthest tab to the left. Then, scroll down and click localize. After this, when you check Use Base Localization, you should see the storyboard appear.
This could happen if Base Internationalization was active before then disabled and files deleted manually.
Create Base.lproj folder in your project folder using the finder.
Move your main story board to it also using the finder.
fix the reference to it from Xcode.
remove app. from device, clean & build your project.
All will be back to normal.

My recent changes in NIB file is not displayed in ios simulator-closed

I've applied changes in interface builder for my app which has labels in it. I just changed the name and position of a label and in addition to that I changed the font of a text view in my app. When I started to run my app, the font remains the same as previous one and none of the labels are displayed in it.
Can anyone help it pls?
in Xcode try this: main menu:product:Clean
if not enough: main menu:Xcode:preferences: -> click over locations icon:
click over the little gray right arrow for derived data:
that will show you the finder folder "DerivedData": delete it.
one other thing to try: in simulator, delete your app.
quite your xcode and then again open your project . Clear your build then run your code.
You should also make sure, that the interfacebuilder file is linked to the target you are starting in simulator.
To do this, select your xib and open the File inspector. There you should see a dropdown named "Target Membership" where you can link the xib to the targets you want.
Also be sure to have the labels defined as IBOutlets in your header file and link them correctly in your xib. Easiest way to do this is using the Assistant Editor and drag the outlet to the header file.
I had the same problem - but only on the iPhone non-retina in the simulator. Cleaning the code did not help. Restarting and rebooting did not help. But removing the app from the simulator worked. Now changes to my UI show up next time I run.
To remove the app from the simulator I did it just like on a real phone. I select the app icon with the mouse and hold it down the mouse button for a few seconds. Then the icon displays a small delete icon that you can select (the app icons shakes too).

iPhone app opens to black screen after refactor proj name in xCode 4

Guys, i wonder if any one can help - My project was fully working in both the simulator and on a device, however, i renamed the project in xcode 4 (double clicking at the root of the project navigation pane, it was happy to rename any references - but now when i launch the app it only opens to the main window (yes it has outlets, all have outlets etc etc),
no code in the app delegate stops at a break point (even in didFinishLaunchingWithOptions)
so unsure what i could have missed, i have looked at other answers and everyone writes and says "missing outlet" etc.
I have dragged some backed up version of the app delegate that used to work and no difference, what could i be missing.
I do have source control, however currently in the process of merging from VSS to GIT.
thanks
lee
Check your Info.plist for what it uses as it's Main Nib File. Perhaps something changed there? Also, within the nib file itself you might have problematic connections to classes that are still named with the old name.

Could not load the image referenced from a nib in the bundle running on device

SplitView[1290:307] Could not load the "canary04.png" image referenced from a nib in the bundle with identifier "xx.co.mycompany.ipad.SplitView"
I only get the error when running on the device. There are no problems running in simulator.
I am using the image directly in interface builder with an UIImageView.
EDIT: I have added a different new image to a different nib and that works no problems.
Anyone have any ideas?
It might not be added to your Target and in XCode 4 you can do it like this:
In your Project View, click your project name
Select your target and select "Build Phases" tab
Drag your image file into your "Copy Bundle Resources" section
That fixed it for me.
The filesystem on iOS devices is case sensitive, so it's quite possibly a case issue. (Mac OS X is generally case in-sensitive, hence you've not seen this issue in the simulator.)
As such, check that you're using the same case in the code as the filename itself.
Do you have the image in a referenced folder in XCode (blue folder)? If so you have to include the folder name in the image path, something like "Images/canary04.png"
The easy way
1 Simply do a grep in command shell to find the string of the referenced image:
grep -R 'canary04.png' YourMainDirectoryFolder/*
2 It will give you (for example) an output like this:
YourProject/en.lproj/YourViewController.xib:
<textField borderStyle="roundedRect" background="canary04.png" id="19">
3 You now know which nib file and which element it is. Just go in the file and remove the reference.
Delete the blue folder where the image is.
Import again and select "Copy items if needed".
Select "Create Groups" NOT folders
Save image as PNG-24. It works for me
You can do this to check it from your storyboard, or nib. Open it as Source Code:
Then "Find" the image name in it, see if it exists but already invalid in your project, probably you have deleted or changed its name, and now it doesn't seem valid.
Have you included the file in the target? Right-click on your Target in Xcode, select Get Info and choose the "Targets" group along the top. Make sure your intended target(s) are checked.
Good Luck.
EDIT:
The text above should have read Right-click the file (canary04.png) in Xcocde and select Get Info...
Sorry for the typo.
I had this problem when I upgraded to Xcode 4.4.1. I found that although I had deleted the images (and corresponding buttons, etc.) in the storyboards, there was still mention of them in my storyboard files (in a tabBarItems field). I manually commented them out (), Product -> Clean, and I didn't get the errors any more.
I knew there must be bogus references in the storyboard as I had previously deleted my TabBar and the current App worked without problems, just with annoying messages in the console.
I had the same issue. try to
clean
build and run
it worked with me
In my case, it was because Photoshop wasn't saving my files correctly. In the file save dialog I was clicking on myfile.png in an attempt to overwrite that file, and it was saving the file with a png extension, but in photoshop format.
I had to make sure to actually change the file format to PNG before clicking on the file I wanted to overwrite, thus saving in actual png file, thus being readable by iOS. Interestingly, interface builder showed my psd-as-png files just fine.
More generically, make sure your file is, in fact, in the format you think it is and that iOS is therefore expecting.
Solution 1 :
In my case I had copied folder containing images and even checked "Destination : copy items if needed". However it has not been added to "Copy Bundle Resources" of "Build Phases".
You can add images as follows :
Select Targets
Select "Build Phases" tab
Select "Copy Bundle Resources"
Click on "+" (Plus) button just beneath it
Locate images and add it
Solution 2 :
Delete images by selecting "Move to thrash". Again add images in your project with "Destination : copy items if needed" checked.
Note : Make sure that you add images in Assets.xcassets folder and not outside it.
I was getting this error too. I will describe my scenario:
I have a subdirectory "img" which has some png's in it.
One of these png is "ic_timeprogress_000.png"
In the storyboard (visual designer) I had an imageView and the image was set to "ic_timeprogress_000.png" (not programatically). The designer showed the imageView correctly:
Although when running the app, the error was thrown.
So in the storyboard I changed (I insist: not programatically) from "ic_timeprogress_000.png" to "img/ic_timeprogress_000.png", which lead to not showing correctly the image in the designer but showing correctly when running (no error)
Although I alter imageView.image programatically, so this "initial image" isn't ever used.
Check to make sure that canary04.png exists in your project, and that it was not deleted.
My problem was that I saved the image as .jpg and changed the name to .png (was still in jpg format). It worked with simulator
Check your image name. If it contains some spaces then image will show while running in simulator but not in the device. While running it checks Case sensitive name etc.
I had a different problem in iOS 8. In my case the problem was that I selected Device Specific for the image set, and then selected iPad. Changing this back to Universal fixed the problem.
This setting can be found in the images.xcassets file, in the third column show the attributes inspector for the image set.
In this case the images wont be displayed in the storyboard or NIB file even if you have added them to images.xcassets. They also wont show in the simulator or device.
I've encountered this issue when I was trying to set image of an imageView on Interface Builder (.xib) file.
(I was using Image Assets)
I've had 2 images with theImage.jpeg and theImage#2x.jpg
Interface Builder could be able to display true images at compile time with these jpg / jpeg formats. But I've got this error in the runtime:
Could not load the "theImage" image referenced from a nib in the bundle with identifier "org.etc.etc"
Then I changed my image files formats to .png and it worked!
Try this solution too if you have different formats for images you try to set.
I also met the problem that jpeg files cannot be loaded successfully, however I solved it without changing them to png format: for example, if you have an image named "bg.jpg", don't use "bg" in storyboard (this name is listed in the dropdown selection list), instead you should explicitly write "bg.jpg" in the name field.
For programming based image view, I guess using .jpg extension like [UIImage imageNamed:#"xx.jpg"] should also work (I did't test though).
Try cleaning the project and make sure the info.plist matches the xx.co.mycompany.ipad.SplitView
Check the image name. Then check to see if you can open the image itself in paint or photoshop. If the image was created in photoshop and there were layers sometimes there is some conflict with the .png
I had the same issue, if your images are inside sub-folders, you need to choose "Create groups for subfolders" Option when you copy the resources.
I have this problem with Xcode 5, and it seems "Combine high resolution artwork" is the culprit. I opened the app bundle, and all the images were *.tiff, which caused the image to "not be found" :S
FIX:
Open project settings, and search in the top for "combine". Change that setting to NO.
For some reason, everyone is missing this essential fix.
In my case all images where displaying fine on devices with >iOS 7 but not with iOS 6.1.
The solution was that iOS7 is case sensitive but iOS 6.1 wasn't for me. I had images named like "myImageName" and also named "myimagename" witch leads my old iPhone 3 to be unable to display these images.
So renaming them solved it.
Tried each and every answer here and nothing, so here's another glitch, your icon name cannot have dots (.) because if it does (and Xcode allows you to do that!) while the icons show well in storyboard, they won't load either in the simulator or the device.
Maybe after you set the button's image, you changed the image's name.
2015 - Still having this problem. I was referencing an image that no longer existed in one of tabbed buttons.
Solution:
Simply inspect all your buttons, UIImage etc. and make sure that the image that you are referencing actually exists within your project.
I got this problem when I accidentally added another Image set to Asset Catalog file. I renamed it after I realised the mistake, but it doesn't seem to work.
Removing the file and adding it again solves the problem.
what worked for me is making sure the file's owner in interface builder has a "view" outlet.
From IB, select file's owner from "Placeholders", then in "Connections Inspector" make sure the view outlet in connected to the main view of current XIB.
This happened because i removed the main view at some point and forgot to reconnect my new view.
Hope it helps somebody else.
In my case, the issue was the image format. They were 'jpg' files, while Xcode was expecting 'png' files. Changing the file format fixed the issue.