Tag: didselectrowatindexpath

如何在一个string中获取UITableView的选定单元格的值

我很确定这很简单。 但是我不能做这个工作。 我有一个UITableView,我dynamic显示一个Facebook的朋友列表,感谢他们的FBID。 基本上,我想返回我select的朋友的FBID,用逗号分隔的一个string。 如果可能的话,在一个IBAction中,所以我可以将它们传递给一个php的参数。 例如,让我们假装我有一个4个朋友的名单,ABCD,他们的ID是1,2,3,4。 如果我selectA和C,我想有一个string,说1,3。 所有我设法做的是显示我select的朋友的ID,一次一个。 这是我的代码: -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { rowcount = [[tableView indexPathsForSelectedRows] count]; indexer = [idFriends objectAtIndex:indexPath.row]; aapell = [NSString stringWithFormat:@"%@", indexer]; NSMutableString * arrayIds = [[NSMutableString alloc] init]; [arrayIds appendString:aapell]; NSLog(@"ids: %@", arrayIds); } 预先感谢您,我确信这并不复杂。

Swift 2 – 调用`didDeselectItemAtIndexPath`时发生致命错误

我有一个UICollectionView我使用函数didSelectItemAtIndexPathselect一个单元格,并更改其alpha。 在UICollectionView有12个单元格。 为了将取消选中的单元格返回到alpha = 1.0我使用函数didDeselectItemAtIndexPath 。 到目前为止,代码工作,但是,当我select一个单元格,并滚动UICollectionView应用程序崩溃在线let colorCell : UICollectionViewCell = collectionView.cellForItemAtIndexPath(indexPath)! 里面的错误取消selectfunction: 致命错误:意外地发现零,而解包一个可选的值(lldb) 我想我需要重新加载收集视图,但如何重新加载并保持单元格select? override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) { let colorCell : UICollectionViewCell = collectionView.cellForItemAtIndexPath(indexPath)! colorCell.alpha = 0.4 } override func collectionView(collectionView: UICollectionView, didDeselectItemAtIndexPath indexPath: NSIndexPath) { let colorCell : UICollectionViewCell = collectionView.cellForItemAtIndexPath(indexPath)! colorCell.alpha = 1.0 }

iOS NSPredicate不工作?

我有一个简单的谓词函数,如下所示: [totalSentences addObjectsFromArray:[firstLangEx filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"(SELF contains[c] %@)", cellText]]]; 这条线在我的一个应用程序中工作,但是当我将其复制到另一个应用程序并尝试testing时,它不起作用。 totalSentences is a global NSMutableArray firstLangEx is a local NSArray filled with several lines cellText is NSString *cellText = cell.textLabel.text; 所有这些代码存在于我原来的应用程序和工作。 它们在方法中实现- (void)tableView:(UITableView *)tableView1 didSelectRowAtIndexPath:(NSIndexPath *)indexPath 即使cellText与firstLangEx中的一个string匹配,totalSentences也不会被任何字符填充。 什么可能导致这个? 编辑: 在NSLog totalSentences总是显示没有内容,与始终显示至less一行的原始应用程序的输出相反。 firstLangEx始终具有从文本文件加载的正确内容(在两个应用程序中文件都是相同的) cellText总是显示至less一个string。 (我在两个应用程序中testing相同的string。) 所以我不知道为什么totalSentences总是空的,至less应该填充一个匹配所有cellTextstring的string。 编辑: 我也以编程方式向totalSentences添加了一些string,可变数组运行良好。 任何想法为什么发生这种情况 编辑: 我已经testing了yuji的build议: BOOL ok; NSPredicate *predicate = [NSPredicate […]

无法让didSelectRowAt为TableView工作

我遇到麻烦得到didSelectRowAt方法工作在一个常规的ViewController内的TableView 。 我已经确定表的delegate和data source是在ViewController代码中设置的。 这个ViewController用一个search查询的结果填充tableview单元格到一个API ,并且单元格数据的渲染工作正常。 这只是没有注册的didSelectRowAt方法。 我曾尝试在Main.storyboard上手动添加相同的代理信息,但小号+符号不会触发任何popup窗口。 我想知道是否有需要修复的Main.storyboard中的东西。 我还附加了ViewController和TableView连接检查器的图像。 我是iOS开发新手,没有太多的移动devisegraphics界面的经验,所以我认为这是有些东西,但也许我错了。 这是我的代码的基本版本: class SearchViewController: UIViewController, UISearchBarDelegate, UITableViewDelegate, UITableViewDataSource { @IBOutlet weak var tableView: UITableView! @IBOutlet var searchBar: UISearchBar! …variable declarations …. override func viewDidLoad() { super.viewDidLoad() self.hideKeyboardWhenTappedAround() searchResults = [] searchBar.delegate = self tableView.dataSource = self tableView.delegate = self } func numberOfSectionsInTableView(tableView: UITableView) -> Int […]

在视图控制器之间传递数据DidSelectRowsAtIndexPath Storyboards

在一个简单的testing应用程序中,我试图从MasterViewController传递名为“thisArray”的数组对象到DetailViewController名为“passedData”的string。 我正在使用故事板和UIViewControllerembedded导航控制器。 使用prepareForSegue方法,我成功地传递了UIViewController之间的数据: – (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([segue.identifier isEqualToString:@"pushData"]) { NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; DetailViewController *destViewController = segue.destinationViewController; destViewController.passedData = [thisArray objectAtIndex:indexPath.row]; } } 现在由于某些原因,我想使用didSelectRowsAtIndexPath而不是prepareForSegue 。 我用过这个: – (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath { NSMutableString *object = thisArray[indexPath.row]; detailViewController.passedData = object; } 但它没有工作。 我已经使用了以下内容: – (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { detailViewController = [[DetailViewController […]

要select还是要select行列索引?

下面是我正在运行的代码。 我有一个导航控制器和桌面视图控制器和视图控制器的故事板设置。 我试图从NSDictionary,我已经为表设置的详细信息视图控制器的名称。 我应该使用prepareforsegue还是didselectrowatindexpath,如何从字典中获得名称来传递它? #import "FMInboxViewController.h" #import "FMDetailViewController.h" @interface FMInboxViewController () @end @implementation FMInboxViewController @synthesize keyArray; @synthesize tableArray; @synthesize tblDictionary; @synthesize filteredArray; – (void)viewDidLoad { [super viewDidLoad]; NSMutableArray *ary=[[NSMutableArray alloc]init]; [ary addObject:@"Adam"]; [ary addObject:@"Fred"]; [ary addObject:@"Angel"]; // … many similar entries [ary addObject:@"James"]; [ary addObject:@"Mukthesh"]; self.tblDictionary =[self fillingDictionary:ary]; } 表视图数据源 #pragma mark – Table view […]

didSelectRowAtIndexPath长按后调用

我有一个uitableview正下方的uitextfield填充类似的string在一个uitableview cell 。 项目被填充。 然而didSelectRowAtIndexPath在长按之后被调用 我的UITableView (embedded在UIScrollView) – didSelectRowAtIndexPath:只在长按自定义单元格后被调用 我的视图层次: UIScrollView(outerscroll) 其他一些视图和button UITexfield UITableView(tableView) 我的代码 class MyViewController: BaseViewController , UITextFieldDelegate , UITableViewDelegate , UITableViewDataSource , UIGestureRecognizerDelegate { @IBOutlet weak var autocompleteTableView: UITableView! var pastUrls = ["Men", "Women", "Cats", "Dogs", "Children","aaaaaaaaa","aaaaaaaaaaaaaaaaaaa","aaaaaaaaa","a","aa","aaa"] var autocompleteUrls = [String]() @IBOutlet weak var image_view_seacrh_ifsc: UIImageView! @IBOutlet weak var scrollView: UIScrollView! override […]

如何从UITableView iphone获取UITableView IndexPath?

在我的iPhone应用程序中,我有一个消息屏幕。 我已经在UIViewController上添加了UITapGestureRecognizer ,并且在屏幕上还有一个UITableview 。 我想selectUITableViewCell但是我不能selectUITableView因为UITapGestureRecognizer 。 当我触摸屏幕,只调用轻拍手势动作,但UITableView委托didSelectRowAtIndexPath:不被调用。 任何人都可以请帮我在点击手势和UITableView:didSelectRowAtIndexPath: 。 提前致谢。

Swift:触发TableViewCell导致另一个ViewController中的UIWebView中的链接

当我点击一个tableViewCell我想要一个链接(这是特定于该单元格的indexPath.row )打开一个新的viewController与一个webView。 例如:我点击tableView的第三个单元格,www.apple.com打开一个新的viewController。 我试图用didSelectRowAtIndexPath做到这一点,但我不知道如何把代码放在一起,以便linksArray (其中我有所有链接存储)的代码一起工作,当我点击tableViewCell 我从Parse.com查询这些链接。 这是我的数组: var linksArray = [NSURL]( ) 我创build了一个名为LinkViewViewController的新类,我只把webView连接成一个@IBOutlet weak var webView: UIWebView! 没有别的。 我拿出viewDidLoad方法,以便可以从具有单元格的FeedTableViewController类控制LinkViewViewController 。 这是我的代码如下 override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { let myWebView = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! LinkViewViewController var url = NSURL(string:"\(links[indexPath.row])") var request = NSURLRequest(URL: url!) myWebView.webView.loadRequest(links[indexPath.row] as! NSURLRequest) } UPDATE 我也试图这样做,这也许更合乎逻辑。 我正在访问存储在ProductInfo类中的Parse中的链接。 productName数组代表单元按什么顺序排列,以便在产品名称上点击时可以访问链接。 override […]

只有在添加第三个segue时,prepareForSegue才调用didSelectRowAtIndexPath

我有3个不同的意见。 2实施没有问题,是第三个创build时出现问题。 我有以下didSelectRowAtIndexPath方法: – (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ NSLog(@" ———- did select row"); if(indexPath.section == 0){ if(indexPath.row == [self.data count]-1){ //prior to adding this, everything works [self performSegueWithIdentifier:@"MoreComments" sender:self]; }else{ [self performSegueWithIdentifier:@"FriendView" sender:friend]; } }else if(indexPath.section == 1){ if(indexPath.row == [self.data2 count]-1){ [self performSegueWithIdentifier:@"MorePosts" sender:self]; }else{ [self performSegueWithIdentifier:@"FriendView" sender:friend]; } } } 我有以下prepareForSeque方法: -(void) prepareForSegue:(UIStoryboardSegue […]