Tag: uitableview

iOS:使用ContainerView的dynamic内容的UIScrollView(一步一步)

即使有这个问题的多个问题和答案,所以我不能创build一个UIScrollView同时具有静态和dynamic内容(通过使用一个ContainerView ),并使大小正常工作。 因此,我将提供一步一步的指导,直到我无法取得进展,有人可以提供解决scheme。 这样我们将有一个可行的样本,可以一步一步地使其工作。 请注意:为方便起见,所有步骤的输出都上传到https://github.com/oysteinmyrmo/DynamicScrollablePage 。 testingXcode项目可以从那里获取,并进一步黑客入侵。 更新:在@ agibson007的答案后,最后有几个步骤将原始步骤修复为工作解决scheme。 错误是指出错误,看最后的步骤 。 目标: 有一个很长的可滚动的UIView页面,包含各种静态的UIView和一个带有dynamic内容的ContainerView 。 为了完整起见,dynamic内容将由一些静态的UIView和一个UITableView组成,这个UITableView将被扩展到它的全部内容。 最后一个因素似乎是我最近偶然发现的各种问题的一个重复的主题。 方法: 我们将从一个新的Xcode项目(Xcode 8.2.1)开始,并使用Swift 3.0.2作为语言。 我们将一步一步的创buildtestingUIView , UIViewController和其他必需的项目。 在某些时候,我们有一个“模板”,可以用来使内容能够dynamic扩展的内容。 第1步:项目创build 打开Xcode(8.2.1),开始一个新的项目。 select选项卡式应用程序 我们将在第一个选项卡中创buildUIScrollView 。 将产品名称设置为DynamicScrollablePage。 select位置并创build项目。 步骤2:对项目进行初始更改 UI的更改将在第一个选项卡中完成。 该过程深受这个答案的影响,但我们将添加一些更多的项目和一个ContainerView为我们的dynamic内容。 在Main.storyboard , First View (即选项卡1)删除这两个标签。 单击UIViewController (名为第一个)。 转到其大小检查器,从Fixed更改为Freeform ,并将高度更改为1500.这只是故事板中的视觉更改。 将其余的UIView重命名为RootView 。 在RootView添加一个UIScrollView 。 将其命名为ScrollView 。 约束: ScrollView [顶部,底部,引导,尾随,宽度] = RootView [顶部,底部,引导,尾随,宽度]。 […]

停止显示空白单元格的UISearchDisplayController

我已经实现了一个相当标准的tableview(表+search相同的数据源)的UISearchDisplayController。 我遇到的问题是结果不填充屏幕时,实际结果下面有“伪”行。 我能够设置背景颜色,但找不到抑制这些行/分隔符的好方法。 他们似乎与我的numberOfRowsInSection:委托响应解耦。 如果我设置searchResultsTableView.separatorColor(绿色),它只会改变实际的结果行。 我能够将separatorStyle更改为UITableViewCellSeparatorNone,但是我不得不手动重新创build实际结果上的分隔符,并有边缘情况下(如select颜色掩盖了我的看法)。 有没有一种干净的方式来隐藏所附的截图中指出的行?

在UITableViewCell中使用UITextViewdynamic调整单元大小会导致警告?

目前在我的代码中,我以编程方式在UITableViewCell添加一个UITextView ,并添加了根据用户键入的内容大小自动调整单元格的function。 目前看起来像这样: override func viewDidLoad() { tableView.estimatedRowHeight = 30.0 tableView.rowHeight = UITableViewAutomaticDimension } override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { // Dequeue the cell to load data let cell: UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) if indexPath.section == 0 { // Code } if indexPath.section == 1 { let textView: […]

如何将静态TableView添加到ViewController

如何在不使用容器和UITableViewController的情况下将静态TableView添加到ViewController? 我认为这是可能的前一段时间,但现在最新的xCode故事板和iOS 7不是。 没有有效答案的类似的问题在这里 – iOS 7的UIView更改为UITableView我的表有一点区别 – 我尝试添加一个静态数据。 我在程序启动时遇到应用程序崩溃。 程序崩溃,如果我只设置数据源。 如果我取消链接数据源并保持代理和sockets程序启动没有警告,但与空单元格。 备注 – 故事板在没有我的协助的情况下将ViewController的命名从ViewController更改为ViewView的TableViewController。 我认为这是在添加IBOutlet UITableView * myTableView之后发生的。 为什么这样,是什么意思?

将数据从TableViewController传递到XIB文件没有Segues Swift 3

我新来快速学习3 我试图从表视图控制器传递数据到XIB文件。 我有我的表视图控制器中的水果列表。 点击,我想在新的XIB控制器中的标签显示水果名称。 我试过下面的代码,但它没有显示我在XIB vc的任何数据。请告诉我什么,我在这里失踪 我的表VC: class FruitsTableViewController: UITableViewController { var fruits = ["Apple", "Apricot", "Banana", "Blueberry", "Cantaloupe", "Cherry", "Clementine", "Coconut", "Cranberry", "Fig", "Grape", "Grapefruit", "Kiwi fruit", "Lemon", "Lime", "Lychee", "Mandarine", "Mango", "Melon", "Nectarine", "Olive", "Orange", "Papaya", "Peach", "Pear", "Pineapple", "Raspberry", "Strawberry"] override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return […]

屏蔽除UIView之外的所有视图

我在UITableView中有一个透明的节标题,它应该让单元格在它后面滚动,但显示在tableview而不是单元格后面的背景图像。 我需要一种方法来在截面标题上应用某种剪贴蒙版,这样可以使任何浏览下面的视图变得透明,或者将背景图像的相应部分显示为页眉的背景,并在页眉移动时显示。 我已经看到了这个如何在UITableView透明头下掩盖UITableViewCells ,但它不像广告一样工作,通常是一个糟糕的实现。 我也试过这个: – (void)drawRect:(CGRect)rect { CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor); CGContextFillRect(context, self.frame); CGContextSetBlendMode(context, kCGBlendModeClear); } 在部分标题的子类中,但是这只是显示黑色背景的视图。 如果你需要更多的解释,这里是我有: View post on imgur.com 这是我想要实现的: View post on imgur.com

Swift – 使用UITableView深入分析数据

我想构build一个应用程序来导航数据层次结构。 我一直在参考这个向下钻取分层的UITableView页面,并不知道如何使用xml来实现这种节点结构。 我试图避免创build100s的tableviewscontrollers等。从我的理解到目前为止,我相信我需要使用节点。 当我钻完一路后,我将需要使用一个不同的viewcontroller,但我相信我明白这是怎么回事。 这是我的XML文件的一个小例子。 如果有必要,我可以对其进行更改以使其工作。 <hnt> <face> <action id="1"> <name>Occipitofrontalis</name> <type>data</type> <description>data</description> </action> </face> <temporoman> <mandibulardep> <action id="1"> <name>Occipitofrontalis</name> <type>data</type> <description>data</description> </action> <action id="2"> <name>Occipitofrontalis</name> <type>data</type> <description>data</description> </action> </mandibulardep> </temporoman> </hnt> <face> </face> 我正在使用此代码来parsing我的XML文件。 我不知道如何打印出样本。 override func viewDidLoad() { super.viewDidLoad() if let path = Bundle.main.url(forResource: "01 – MainCategories", withExtension: "xml") { if let parser […]

显示来自NSMutableString的特定数据

我有NSMutableString这个信息: T: Testadata(id:1,title:"Test",subtitle:"test is correct",note:"second test",identifiers:( 这是我的表执行: – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"TestCell"; TestCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell =[ [[NSBundle mainBundle] loadNibNamed:@"TestCell" owner:nil options:nil] lastObject]; } NSArray *array = [server get_test:10 offset:0 sort_by:0 search_for:@""]; NSMutableString *t = [NSMutableString stringWithFormat:@"%@ ", [array objectAtIndex:indexPath.row]]; cell.testTitle.text […]

在catch块内的UITableView reloadData

我想在UITableView中添加一个catch块,但它什么都不做。 [self.dataArray addObject:@"xyz"]; @try { [self.tableView beginUpdates]; //try with nil to go to catch block [self.tableView insertRowsAtIndexPaths:nil withRowAnimation:UITableViewRowAnimationBottom]; [self.tableView endUpdates]; } @catch (NSException * e) { dispatch_async(dispatch_get_main_queue(), ^{ [self.tableView reloadData]; }); } 任何build议如何重新加载tableview的情况下更新失败的情况下? 谢谢! 更新 所以我可以处理,如果insertRowsAtIndexPaths:无这个工程 @try { [self.tableView beginUpdates]; //try with nil to go to catch block [self.tableView insertRowsAtIndexPaths:nil withRowAnimation:UITableViewRowAnimationBottom]; [self.tableView endUpdates]; } @catch […]

无法使用Delegate更新UITableViewCell中的标签

我在我的应用程序中有一个食物日记,用于跟踪您每天所吃的食物,但是我正在努力更新我的UITableViewCell卡路里标签。 我的应用程序崩溃,只要按“保存到食物日记”,错误是: "fatal error: unexpectedly found nil while unwrapping an Optional value" 这里是我在我的PopUpVC ( UIViewController ,用户可以看到inputFoodName和Calories ) protocol AddRowDelegate { func didAddRow(name : String, calories : String) } class PopupVC: UIViewController { var delegate: AddRowDelegate? var section: Int? var caloriesLabel = " " var tableData: [String] = [""] var caloriesCell = caloriesForDiary() @IBOutlet weak var […]