2011-12-06 34 views
0

この星評価システムはhttps://github.com/dlinsin/DLStarRatingで使用されましたが、ジェスチャーはうまく機能していますが、デリゲートを正しく使用していないようですので、星を選択すると、ここに私のコードです:ジェスチャー認識装置星評価システム

.mainファイル

- (void)viewDidLoad 
{ 

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

    //check if value has been previously saved 
    if(![defaults stringForKey:@"username"]) {   

     CustomerLogin *customerlogin = [[CustomerLogin alloc] 
                initWithNibName:@"CustomerLogin" bundle:nil]; 
     [self presentModalViewController:customerlogin animated:YES]; 
//  customerlogin.view.frame = CGRectMake(0, 0, 700, 900); 
//  customerlogin.view.center = CGPointMake(768/2, 1024/2); 
     //[self.navigationController pushViewController:customerlogin animated:YES]; 

     [customerlogin release]; 


    } 

    UIBarButtonItem * sortButton = [[UIBarButtonItem alloc] initWithTitle:@"Submit" style:UIBarButtonItemStyleBordered target:self action:@selector(Submit)]; 

    self.navigationItem.rightBarButtonItem = sortButton; 
    [sortButton release]; 

    rating.delegate = self; 
    comments.delegate = self; 
    bestnight.delegate = self; 

    UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"background_texture.png"]]; 

    self.view.backgroundColor = background; 

    [background release]; 

    self.title = @"Write Review"; 

    [super viewDidLoad]; 

    //Star touch 
    DLStarRatingControl *customNumberOfStars = [[DLStarRatingControl alloc] initWithFrame:CGRectMake(0,0, 320, 100) andStars:5]; 
    customNumberOfStars.backgroundColor = [UIColor clearColor]; 
    customNumberOfStars.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin; 
    customNumberOfStars.rating = 3; 
    [self.view addSubview:customNumberOfStars]; 
    [customNumberOfStars release]; 

} 

-(void)newRating:(DLStarRatingControl *)control :(NSUInteger)rating 
{ 
    self.rating.text = [NSString stringWithFormat:@"%d star rating",rating]; 
} 

.headerファイルそれはあなたがDLStarRatingControlのためのデリゲートを設定されていません表示されます

#import "DLStarRatingControl.h" 

@class Customer; 
@class Place; 

@interface CreateReview : UIViewController <UITextFieldDelegate,UITextViewDelegate,DLStarRatingDelegate> 
{ 
    Customer*customer; 
    Place*place; 
    IBOutlet UITextField * bestnight; 
    IBOutlet UITextView * comments; 
    IBOutlet UITextField * rating; 
    IBOutlet UILabel * testValueLabel; 

    NSString * identifier; 
    NSString * password; 
    NSString * username; 


} 

@property (nonatomic, retain) IBOutlet UITextField * bestnight; 
@property (nonatomic, retain) IBOutlet UITextView * comments; 
@property (nonatomic, retain) IBOutlet UITextField * rating; 
@property (nonatomic, retain) Customer*customer; 
@property (nonatomic, retain) Place*place; 
@property (nonatomic, retain) IBOutlet UILabel * testValueLabel; 
@property (nonatomic, retain) NSString * identifier; 
@property (nonatomic, retain) NSString * password; 
@property (nonatomic, retain) NSString * username; 

-(id)initWithPlace:(Place*)p; 
-(void)newRating:(DLStarRatingControl *)control :(NSUInteger)rating; 


@end 

答えて

2

試みはcustomNumberOfStars.delegate = self;ときを追加あなたの評価コントロールを設定する