iOS UIScrollView bounces back to the top - ios

When i scroll using UIScrollView downwards and let go it won't stay where i scrolled down to it bounces back to the top
http://www.joules.name/ScreenShot2013-01-25at19.11.45.png
http://joules.name/ScreenShot2013-01-25at19.04.12.png
in ViewController.h
#import <UIKit/UIKit.h>
#interface ViewController : UIViewController
{
IBOutlet UIScrollView *scoller;
}
#end
and in ViewController.m
#import "ViewController.h"
#interface ViewController ()
#end
#implementation ViewController
- (void)viewDidAppear
{
[scoller setScrollEnabled:YES];
[scoller setContentSize:CGSizeMake(320, 1000)];
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#end

Its probably because you set the actual height of the scrollview to 800 in the nib file. Change that to fit the screen.

Related

not sure whats causing these errors

#import "ViewController.h"
#interface ViewController ()
#end
#implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#end
I'm not sure what I changed or how to fix these errors:
Cannot find interface declaration for 'ViewController';
View controller cannot use 'super because it is not a root class
Likely you forgot to sub-class UIViewController (check your header):
#interface ViewController : UIViewController

Display nib above of my storyboard view

I'm trying to essentially load a nib into view when a certain criteria is met. I'm able to show the nib on my storyboard thought I cant seem to be able to execute any actions when the button is pressed.
Just to express my ultimate goal. I would like to create sort of a template with my nib view and then display the nib view from my storyboards but manipulate the labels in my nib view with values sent from the storyboard.
OK so I'll do my best to try and show my detail steps on how i try to accomplish this.
Firstly here are is a picture of my project.
my VCDemoView.h
#import <UIKit/UIKit.h>
#interface AppDelegate : UIResponder <UIApplicationDelegate>
#property (strong, nonatomic) UIWindow *window;
#end
VCDemoView.m
#import "VCDemoView.h"
#interface VCDemoView ()
#property(nonatomic) IBOutlet UIImageView *imageView;
#property(nonatomic) IBOutlet UILabel *titleLabel;
#property(nonatomic) IBOutlet UILabel *subtitleLabel;
#property(nonatomic) IBOutlet UIView *container;
//- (IBAction)changeLabel:(id)sender;
#end
#implementation VCDemoView
-(id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self == nil) return nil;
[self initalizeSubviews];
return self;
}
-(id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self == nil) return nil;
[self initalizeSubviews];
return self;
}
-(void)initalizeSubviews
{
//Load the contents of the nib
NSString *nibName = NSStringFromClass([self class]);
UINib *nib = [UINib nibWithNibName:nibName bundle:nil];
[nib instantiateWithOwner:self options:nil];
//Add the view loaded from the nib into self.
[self addSubview:self.container];
}
- (void)drawRect:(CGRect)rect
{
// Drawing code
}
*/
- (IBAction)changeLabel:(id)sender {
//[self.subtitleLabel.text = #"MIGUEL"];
_subtitleLabel.text = #"miguel";
}
#end
storyboard view controller.
#import "ViewController.h"
#import "VCDemoView.h"
#interface ViewController ()
#end
#implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
VCDemoView * CustomView = [[VCDemoView alloc]init] ;//[[addMyLocation alloc]init];
[self.view addSubview:CustomView];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#end
Can anyone spot what I'm doing wrong? I cant seem to be able to communicate with the button? I'm sure is something silly.
here is a link to the dropbox project with all the source code if you prefer to see it that way.
https://www.dropbox.com/sh/23cbhs4qvsxwei0/AADFs6MN3eqJNK42Io2etuJea?dl=0
Thanks is advance guys.
You never set the frame of your VCDemoView. The frame defaults to CGRectZero.
A view doesn't clip its subviews by default, so you can still see the labels and the button, even though they're outside the bounds of the VCDemoView. But a view does not receive events outside its bounds, so when you tap on the button, the top-level view swallows the event because it finds that the event is outside the bounds of its one subview (the VCDemoView).
You can fix the frame of your VCDemoView like this:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
VCDemoView * CustomView = [[VCDemoView alloc]init] ;//[[addMyLocation alloc]init];
CustomView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
CustomView.frame = self.view.bounds;
Note that you can use autoresizing even though your storyboard uses autolayout constraints. Autolayout will turn the autoresizing mask into constraints for you.
Or you could just put your VCDemoView in your storyboard as a child of the root view and set up the constraints there.
You should not call and action inside a View this what the Controller should handle .
You need to change the fileOwner to be the controller and the View Class to be VCDemoView , connect the View to the controller in the IB , and load the nib from there , then add it as a subView to the ViewController's view .
this the edited code ,, I hope it helps .. https://dl.dropboxusercontent.com/u/33359624/demo-SO/Archive.zip
You are not set the CustomView frame so the default frame is CGRectZero. if you set the frame of the CustomView it will works fine.
#implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
VCDemoView * CustomView = [[VCDemoView alloc]init] ;
CustomView.frame =self.view.frame;
[self.view addSubview:CustomView];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#end

Image Not Showing Up on UIScrollView

So I have a UIScrollView and scrolling works. I added a label on it and it scrolled that too. When I added an Image View, however, scrolling works but the image does not show up and I get this error:
Could not load the "block" image referenced from a nib in the bundle with identifier
My ViewController.m:
#interface ViewController : UIViewController{
IBOutlet UIScrollView * scroller;
}
#implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[scroller setScrollEnabled:YES];
[scroller setContentSize:CGSizeMake(320, 600)];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
#end
I have disabled "Use Auto Layout," Changed the Size to "Freeform," and changed the views height to 600.
Any ideas on how I can make this work?

IOS UIButton's size gets bigger when touch inside

simple codes..
ViewController.h
#import <UIKit/UIKit.h>
#interface ViewController : UIViewController
- (IBAction)dragout:(id)sender;
#end
ViewController.m
#import "ViewController.h"
#interface ViewController ()
#end
#implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)dragout:(id)sender {
NSLog(#"-----");
}
#end
and in Storyboard, there is 1 button which size is fit in text "button". Link 'sent event:touch drag outside" to "dragout" IBAction.
When I touch button inside and drag my finger to outside of button, i need move more than button size to call "dragout" IBAction. Nearly 3x width&height size. Why is this happens? Thx for read.

Can not dismiss keyboard iOS. Nothing works

I'm new in iOS Development for iPhone. I can not dismiss keyboard, nothing works. Please help me, maybe I didn't notice anything?
My .h file:
#import "UIKit/UIKit.h"
#interface ViewController : UIViewController <UITextViewDelegate>
#property (weak, nonatomic) IBOutlet UITextField *textField;
#end
My .m file:
#import "ViewController.h"
#import "UIKit/UIKit.h"
#interface ViewController ()
#end
#implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(BOOL) textFieldShouldReturn: (UITextField *) textField{
[textField resignFirstResponder];
return YES;
}
#end
Hi this is a simple mistake. You have not set the delegate. You can do this by..
- (void)viewDidLoad
{
[super viewDidLoad];
textField.delegate = self;
}
Please add textField.delegate = self; to your viewDidLoad.
Most likely you forgot to set the delegate for textField. Inside your storyboard or nib file, drag your UITextField's delegate to your ViewController.

Resources