Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Lvalue required as left operand of assignment

Hello I get the "Lvalue required as left operand of assignment" error in xcode. Why? Here is my code (window1/2 are UIViewController) :

- (void)loadView
{

    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0,0,320,460)];
    UIView *contentView = [[UIView alloc] initWithFrame:CGRectMake(0,0,640,460)];


    self.window1 = [TweetViewController alloc];
    self.window2 = [InfoViewController alloc];


    [contentView addSubview:self.window1.view];
    self.window2.view.frame.origin.x = 320; //HERE IS THE ERROR!!
    [contentView addSubview:self.window2.view];


    [scrollView addSubview:contentView];
    scrollView.contentSize = contentView.frame.size;


    scrollView.pagingEnabled = YES;


    self.view = scrollView;


    [contentView release];
    [scrollView release];
}

Thanks for your help.

like image 480
Flocked Avatar asked Jan 04 '10 10:01

Flocked


2 Answers

The part self.window2.view.frame will leave you with a getter, not actually reaching into and grabbing the internal frame CGRect. What you need to do is get the CGRect change it and then set it back into the view.

CGRect f = self.window2.view.frame; // calls the getter
f.origin.x = 320;
self.window2.view.frame = f; // calls the setter
like image 154
epatel Avatar answered Nov 14 '22 18:11

epatel


You have to set the frame as a whole:

CGRect f = self.window2.view.frame;
f.origin.x = 320;

self.window2.view.frame = f;

See properties.

like image 31
Gregory Pakosz Avatar answered Nov 14 '22 19:11

Gregory Pakosz