2011-12-23 91 views
0

我有一个代码在viewDidLoad和其他方法,我想重新加载它们,如果我点击一个按钮,我已经尝试setNeedDisplay但它不工作,我不知道如果我在右边使用它SENS?我如何重新加载我的UIViewController?

在viewDidLoad中这是我的代码:

 - (void)viewDidLoad 
    { 
     // Create the UISegmentedControler "Next Review" and "Previouse Review" 
     UISegmentedControl *paginateReviewSegment = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"Précedent",@"Suivant", nil]]; 
     paginateReviewSegment.segmentedControlStyle = UISegmentedControlStyleBar; 
     [paginateReviewSegment addTarget:self action:@selector(paginateReviews:) forControlEvents:UIControlEventValueChanged]; 

     UIBarButtonItem *paginateBarButton = [[UIBarButtonItem alloc] initWithCustomView:paginateReviewSegment]; 
     self.navigationItem.rightBarButtonItem = paginateBarButton; 

     [super viewDidLoad]; 

    // Get the review selected 
     entryReview = [[entriesReview getEntries] objectAtIndex:self.reviewSelected]; 

    // Resize the UIScrollView 
    [self.scrollView setScrollEnabled:YES]; 
    [self.scrollView setContentSize:self.contentView.frame.size]; 

    // Add UIView "Content" to UIScrollView 
    [self.scrollView addSubview:self.contentView]; 

    // Set the user name 
    userNameLabel.text = entryReview.userName; 

    ..... 
    } 

这是我要使用重新加载的UIView动作:

- (void)paginateReviews:(UISegmentedControl*)sender 
    { 
     if (sender.selectedSegmentIndex == 0 && self.reviewSelected != 0) 
     { 
      self.reviewSelected -= 1; 
      entryReview = [[entriesReview getEntries] objectAtIndex:self.reviewSelected]; 
      [self.view setNeedsDisplay]; 

     } else if(sender.selectedSegmentIndex == 0 && self.reviewSelected != ([entriesReview entriesCount] - 1)) 
     { 
      self.reviewSelected += 1; 
      entryReview = [[entriesReview getEntries] objectAtIndex:self.reviewSelected]; 
     } 

    } 

回答

6

[self.view setNeedsDisplay];不会调用[self viewDidLoad];

而且,我们不手动拨打viewDidLoad。我建议将你想调用的代码移动到另一个方法中,并在viewDidLoad和用你的按钮绑定方法中调用该方法。

相关问题