zoukankan      html  css  js  c++  java
  • iPhone之表视图按钮事件

    IPhone之表视图按钮事件

    表视图的列表按钮

    SecondLevelViewController.h---查看前边例子

    接口实现:

     


    #import <Foundation/Foundation.h>
    #import "SecondLevelViewController.h"

    @interface RowControlsController : SecondLevelViewController {
        NSArray *list;
    }
    @property (nonatomic, retain) NSArray *list;
    - (IBAction)buttonTapped:(id)sender;
    @end

     

     

     

     

    实现:

     


    #import "RowControlsController.h"

    @implementation RowControlsController
    @synthesize list;

    //表视图按钮的点击事件
    - (IBAction)buttonTapped:(id)sender
    {
        UIButton *senderButton = (UIButton *)sender;
        UITableViewCell *buttonCell = (UITableViewCell *)[senderButton superview];
     
     
    //获取表视图的一行id
        NSUInteger buttonRow = [[self.tableView indexPathForCell:buttonCell] row];
     
    //获取列表内容
        NSString *buttonTitle = [list objectAtIndex:buttonRow];
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"You tapped the button"
                                                        message:[NSString stringWithFormat:@"You tapped the button for %@", buttonTitle]
                                                       delegate:nil
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];
        [alert show];
        [alert release];
    }
    - (void)viewDidLoad {
        NSArray *array = [[NSArray alloc] initWithObjects:@"R2-D2",
                          @"C3PO", @"Tik-Tok", @"Robby", @"Rosie", @"Uniblab",
                          @"Bender", @"Marvin", @"Lt. Commander Data",
                          @"Evil Brother Lore", @"Optimus Prime", @"Tobor", @"HAL",
                          @"Orgasmatron", nil];
        self.list = array;
        [array release];
        [super viewDidLoad];
    }
    - (void)viewDidUnload {
        self.list = nil;
        [super viewDidUnload];
    }
    - (void)dealloc {
        [list release];
        [super dealloc];
    }
    #pragma mark -
    #pragma mark Table Data Source Methods
    - (NSInteger)tableView:(UITableView *)tableView
     numberOfRowsInSection:(NSInteger)section {
        return [list count];
    }
    - (UITableViewCell *)tableView:(UITableView *)tableView
             cellForRowAtIndexPath:(NSIndexPath *)indexPath {
       
        static NSString *ControlRowIdentifier = @"ControlRowIdentifier";
       
        UITableViewCell *cell = [tableView
                                 dequeueReusableCellWithIdentifier:ControlRowIdentifier];
        if (cell == nil) {
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                           reuseIdentifier:ControlRowIdentifier] autorelease];
      
      
    //设置按钮
            UIImage *buttonUpImage = [UIImage imageNamed:@"button_up.png"];
            UIImage *buttonDownImage = [UIImage imageNamed:@"button_down.png"];
            UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
            button.frame = CGRectMake(0.0, 0.0, buttonUpImage.size.width, buttonUpImage.size.height);
            [button setBackgroundImage:buttonUpImage forState:UIControlStateNormal];
            [button setBackgroundImage:buttonDownImage forState:UIControlStateHighlighted];
            [button setTitle:@"Tap" forState:UIControlStateNormal];
            [button addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside];
      
      
    //将按钮添加到行中
            cell.accessoryView = button;
           
        }
        NSUInteger row = [indexPath row];
        NSString *rowTitle = [list objectAtIndex:row];
        cell.textLabel.text = rowTitle;
       
        return cell;
    }
    #pragma mark -
    #pragma mark Table Delegate Methods
    - (void)tableView:(UITableView *)tableView
    didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
     
     //点击一行时的操作
        NSUInteger row = [indexPath row];
        NSString *rowTitle = [list objectAtIndex:row];
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"You tapped the row."
                                                        message:[NSString stringWithFormat:@"You tapped %@.", rowTitle]
                                                       delegate:nil
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];
        [alert show];
        [alert release];
        [tableView deselectRowAtIndexPath:indexPath animated:YES];
    }
    @end

  • 相关阅读:
    Business Objects 基础
    常用的bw基础知识
    SAP BW传输请求操作步骤
    FI/CO 财务基础知识
    SAP财务常用数据源概览
    HANA 和 SAP NetWeaver BW
    Request.QueryString中文乱码
    完全备份类型
    SQL Server备份属于I/O密集型操作
    SQL Server 通过发布订阅 实现数据库同步
  • 原文地址:https://www.cnblogs.com/finehappy/p/3017096.html
Copyright © 2011-2022 走看看