-3

メインページにTableViewが含まれるアプリを作成していますが、tableViewの任意のセルをクリックするとwebViewが開きます。どうすればそれを作成できますか...これは私のコードです。

インターフェイス ファイルを変更したり、コードから Web ビューを作成したりできますか ...


@implementation ViewController
@synthesize tblMain, rows, timer;

NSURL *url;
NSString *jsonreturn;
NSData *jsonData;
NSError *error;
NSDictionary *dict;
UITableViewCell *cell;
static NSString *CellIdentifier;

- (void)viewDidLoad{
    [super viewDidLoad];

    [self GetData];
    timer = [NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(GetData) userInfo:nil repeats:YES];
}

-(void)GetData{
    url = [NSURL URLWithString:@"file://localhost/Users/mac/Documents/json.json"];
    jsonreturn = [[NSString alloc] initWithContentsOfURL:url];
    NSLog(jsonreturn);
    jsonData = [jsonreturn dataUsingEncoding:NSUTF32BigEndianStringEncoding];
    dict = [[[CJSONDeserializer deserializer] deserializeAsDictionary:jsonData error:&error] retain];
    rows = [dict objectForKey:@"savola"];
    NSLog(@"Array: %@",rows);
    [self.tblMain reloadData];

}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [rows count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
    }

    dict = [rows objectAtIndex: indexPath.row];

    cell.textLabel.text = [NSString stringWithFormat:@"%@ - %@", [dict objectForKey:@"company"], [dict objectForKey:@"price"]];
    cell.detailTextLabel.text = [dict objectForKey:@"time"];

    return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    // open a web view
}


@end
4

2 に答える 2

-1

1つのviewController、たとえばMyWebviewcontrollerをxibと一緒に作成します(viewcontrollerの作成中のユーザーインターフェイスについてはxibで確認してください)。

MyWebViewControlller.xibを開き、webviewを追加します。

次に、didSelectRowAtIndexPathに次のコードを記述します。

MyWebviewcontroller *viewController =  [[MyWebviewcontroller alloc]initWithNibName:@"MyWebviewcontroller" bundle:nil];
[self.view addSubView:viewController.view];
于 2012-06-26T12:10:30.520 に答える
-1

ここに質問を投稿する前に、最低限の調査を行ってください。ただし、わからない場合は、ここに投稿してください。

新しいプロジェクトを作成します-> のサブクラスであるファイルを追加し、メソッドUITableViewdidSelectRowAtIndexPathで新しいクラスに移動し、新しいクラスで作業を行います (Web ビューのロード、xib での Web ビューの追加など)

于 2012-06-26T11:35:22.347 に答える