javascript

java

python

c#

android

node.js

reactjs

c++

php

html

jquery

css

git

.net

ios

ruby-on-rails

sql

c

string

ruby

ios-UITableView-带Swi的registerClass

使用Swift的tableView.registerClass方法还有其他问题吗?

它不再对我来说完成代码填充(如果手动键入也无法使用它),但它仍在标题中...

Code Completion

UITableView headers

trans by 2019-11-15T15:36:58Z

iOS-为什么UITableViewCell背景色不起作用(在界面生成器中设置)?

为什么UITableViewCell背景色不起作用(在界面生成器中设置)?

我从一些搜索中注意到,在UITableViewController的自定义子类中设置的以下代码确实有效(请参见下文):

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    cell.backgroundColor = [UIColor redColor];
}

但是我仍然只想了解为什么界面生成器具有TableViewCell的背景颜色设置,但实际上似乎不起作用?

trans by 2019-11-15T03:08:39Z

iOS-self.tableView.reloadData()在SWI中不起作用

我正在尝试同时学习TableViewCell064和iOS开发人员的基础知识,所以请多多包涵。 我有一个TableViewController,它首先解析本地JSON文件,并将其非常简单的数据呈现到TableViewCell和SectionHeaderViews中。 在同一TableViewController中,我正在调用261300395898568808070端点,该端点正在返回数据,然后将其设置为变量,以便可以访问我实际想要得到的内容(API结构不太理想)。 因此,我最终将正确的数据设置为self.tableData,然后调用self.tableView.reloadData(),但没有任何反应。 是什么赋予了?

import UIKit

class BusinessTableViewController: UITableViewController {

    var data: NSMutableData = NSMutableData()
    var tableData: NSArray = NSArray()

    @lazy var Business: NSArray = {
        let pathTCT = NSBundle.mainBundle().pathForResource("TCT", ofType: "json")
        let data = NSData.dataWithContentsOfFile(pathTCT, options: nil, error: nil)
        return NSJSONSerialization.JSONObjectWithData(data, options: nil, error: nil) as NSArray
        }()

    override func viewDidLoad() {
        super.viewDidLoad()

        navigationItem.titleView = UIImageView(image: UIImage(named: "growler"))

        tableView.registerClass(BeerTableViewCell.self, forCellReuseIdentifier: "cell")
        tableView.separatorStyle = .None

        fetchKimono()
    }

    override func numberOfSectionsInTableView(tableView: UITableView!) -> Int {
//        return Business.count
        return 1
    }

    override func tableView(tableView: UITableView?, numberOfRowsInSection section: Int) -> Int {
        let biz = Business[section] as NSDictionary
        let results = biz["results"] as NSDictionary
        let beers = results["collection1"] as NSArray
        return beers.count
    }

    override func tableView(tableView: UITableView?, cellForRowAtIndexPath indexPath: NSIndexPath?) -> UITableViewCell? {
        let cell = tableView!.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath!) as BeerTableViewCell
        if let path = indexPath {
            let biz = Business[path.section] as NSDictionary
            let results = biz["results"] as NSDictionary
            let beers = results["collection1"] as NSArray
            let beer = beers[path.row] as NSDictionary

            cell.titleLabel.text = beer["BeerName"] as String
        }

        return cell
    }

    override func tableView(tableView: UITableView!, titleForHeaderInSection section: Int) -> String! {
        let biz = Business[section] as NSDictionary
        return biz["name"] as String
    }

    override func tableView(tableView: UITableView!, viewForHeaderInSection section: Int) -> UIView! {
        let biz = Business[section] as NSDictionary
        let view = LocationHeaderView()
        view.titleLabel.text = (biz["name"] as String).uppercaseString
        return view
    }

    override func tableView(tableView: UITableView!, heightForHeaderInSection section: Int) -> CGFloat {
        return 45
    }

    func fetchKimono() {
        var urlPath = "names have been changed to protect the innocent"
        var url: NSURL = NSURL(string: urlPath)
        var request: NSURLRequest = NSURLRequest(URL: url)
        var connection: NSURLConnection = NSURLConnection(request: request, delegate: self, startImmediately: false)

        connection.start()
    }

    func connection(didReceiveResponse: NSURLConnection!, didReceiveResponse response: NSURLResponse!) {
        // Recieved a new request, clear out the data object
        self.data = NSMutableData()
    }

    func connection(connection: NSURLConnection!, didReceiveData data: NSData!) {
        // Append the recieved chunk of data to our data object
        self.data.appendData(data)
    }

    func connectionDidFinishLoading(connection: NSURLConnection!) {
        // Request complete, self.data should now hold the resulting info
        // Convert the retrieved data in to an object through JSON deserialization
        var err: NSError
        var jsonResult: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options:    NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
        var results: NSDictionary = jsonResult["results"] as NSDictionary
        var collection: NSArray = results["collection1"] as NSArray
        if jsonResult.count>0 && collection.count>0 {
            var results: NSArray = collection as NSArray
            self.tableData = results
            self.tableView.reloadData()
        }
    }
}
trans by 2019-11-13T22:41:24Z

ios-当acti时,UISearchController在表标题视图中显示的UISearchBar动画太远

我正在使用UISearchController在tableview的标题视图内显示搜索栏:

...
self.searchController.hidesNavigationBarDuringPresentation = NO;            
self.presentingTVC.tableView.tableHeaderView = self.searchController.searchBar;
[self.searchController.searchBar sizeToFit];
self.presentingTVC.tableView.tableHeaderView = self.searchController.searchBar;

(其中必须将tableHeaderView属性设置两次,否则标题视图将与第一行重叠,请参见S.O上的几个答案)

这是它的外观,处于非活动状态时处于完美的位置:Inactive search bar in correct position

搜索栏处于活动状态时应仅留在原处-我不希望它向上移动以隐藏导航栏。 但是它出人意料地向下动画,并在它和导航栏之间留出空白:

Screenshot showing search bar animated too far down

这是一个奇怪的搜索栏动画视频

如果仅将搜索栏与UISearchController分开使用,则它变为活动状态时不会显示相同的行为。

在我的展示视图控制器中,我有self.definesPresentationContext = YES;self.navigationController.navigationBar.translucent = YES;,在IB中,没有“扩展边缘”框处于活动状态(似乎都是可能的事情,这些东西可能会使阅读介绍从阅读中移开)。

有谁知道我该如何阻止搜索栏动画?

trans by 2019-11-10T10:44:02Z

ios-根据Tex量更改UITableViewCell高度

我需要能够调整UITableView中单个单元格的高度,以使其适合其详细信息标签中的文本量。

我玩过以下游戏,但对我而言不起作用:

我如何在没有自定义单元格的UITableViewCell中包装文本

尝试的代码:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    cell.textLabel.lineBreakMode = UILineBreakModeWordWrap;
    cell.textLabel.numberOfLines = 0;
    cell.textLabel.font = [UIFont fontWithName:@"Helvetica" size:17.0];
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *cellText = @"Go get some text for your cell.";
    UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:17.0];
    CGSize constraintSize = CGSizeMake(280.0f, MAXFLOAT);
    CGSize labelSize = [cellText sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];

    return labelSize.height + 20;
}

这没有用,它显示了单元格上的整个字符串,但是单元格的高度根本不受影响。

trans by 2019-11-08T17:47:40Z

iOS-UITableView进入半透明导航B

我正在尝试在iOS 7应用程序中使用透明的导航栏。 我的应用程序中有一个全屏图像。 我还在该图像上有一个UITableView。 当我使用下面的代码时,图像可以根据需要适合屏幕,但是UITableView会在导航栏下。

self.navigationController.navigationBar.translucent = NO;

我用

self.navigationController.navigationBar.shadowImage = [UIImage new];
self.navigationController.navigationBar.translucent = YES;
self.navigationController.view.backgroundColor = [UIColor clearColor];

当我更改为self.navigationController.navigationBar.translucent = NO;时还可以,但随后在导航栏上失去了透明度。

trans by 2019-11-07T05:29:06Z

ios-调用-reloadD后如何保持UITableView contentoffset

CGPoint offset = [_table contentOffset];
[_table reloadData];
[_table setContentOffset:offset animated:NO];    //unuseful

//    __block UITableView *tableBlock = _table;
//    [self performBlock:^(id sender) {
//        [tableBlock setContentOffset:offset];
//    } afterDelay:2];

我知道不知道在reloadData之后会调用任何委托方法。并使用afterDelay:2(有点像hack)可能太短或太长,那么如何实现呢?

trans by 2019-10-28T16:43:56Z

ios-Swi的UITableView示例

我已经使用Swift和iOS几个月了。 我对完成工作的许多方式都很熟悉,但是我还不够好,我只能不看就写出来。 过去,我非常感谢Stack Overflow提供的快速答案,使我对生锈的主题(例如AsyncTask Android示例)重新回到正轨。

iOS的UITableView对我来说属于此类别。 我已经做了几次,但是我忘记了细节。 我在StackOverflow上找不到另一个问题,它仅要求一个基本示例,而且我正在寻找比许多在线教程短的内容(尽管这个教程非常好)。

我在下面提供了一个答案,供将来参考。

trans by 2019-10-24T19:32:19Z

iPhone-如何使UITableView上的单元格不可选择?

我有一个单元格要插入到UITableView的顶部。 如何确保当用户单击单元格时,它没有显示蓝色的选定指示器?

trans by 2019-10-15T13:26:44Z

uitableview-iOS 8自动单元格高度-无法滚动到las

我正在使用iOS 8新的自动调整大小的单元格。 外观上效果很好-每个单元格都有合适的大小。 但是,如果我尝试滚动到最后一行,则表视图似乎不知道其正确大小。 这是一个错误还是有解决办法?

重新创建问题的方法如下:

使用这个项目-TableViewCellWithAutoLayoutiOS8(从该SO答案引用),我按预期得到了自动调整大小的单元格。

但是,如果我正在调用scrollToRowAtIndexPath函数,如下所示:

tableView.scrollToRowAtIndexPath(NSIndexPath(forRow: model.dataArray.count - 1, inSection: 0), atScrollPosition: .Bottom, animated: true)

我没有到达最后一行-它只会使我绕到一半。

即使尝试使用这样的较低级别的函数:

tableView.setContentOffset(CGPointMake(0, tableView.contentSize.height - tableView.frame.size.height), animated: true)

结果与预期不符,将无法解决。 如果我多次单击它或等待片刻,最终它将到达正确的位置。 似乎tableView.contentSize.height设置不正确,因此iOS“不知道”最后一个单元格在哪里。

将不胜感激。

谢谢

trans by 2019-10-15T06:41:08Z

ios-将图像添加到uitablevi

我有tableview,如何在此单元格的左侧添加图像?

trans by 2019-10-14T03:41:54Z

iPhone-什么是UITableView索引放大镜字符?

在Apple的iPhone应用程序(如“联系人”)中,它们在表格视图索引的顶部都有一个漂亮的放大镜图标。 由于表视图索引API是基于字符的,因此我假设此放大镜是Unicode字符。 到目前为止,我不得不在此处放置问号字符,但这看起来很la脚。

谁能告诉我放大镜是什么字符?

trans by 2019-10-11T18:10:37Z

ios-在Swi中将HTML转换为纯文本

我正在开发一个简单的RSS Reader应用程序,作为Xcode中的初学者项目。 目前,我已设置它解析提要,并放置标题,发布日期,描述和内容,并将其显示在WebView中。

我最近决定在用于选择帖子的TableView中显示说明(或内容的删节版本)。 但是,这样做时:

cell.textLabel?.text = item.title?.uppercaseString
cell.detailTextLabel?.text = item.itemDescription //.itemDescription is a String

它显示了帖子的原始HTML。

我想知道如何仅将TableView的详细UILabel转换为纯HTML。

谢谢!

trans by 2019-10-11T09:43:40Z

ios-自定义大小的UITableViewC内有多个UILabel

在我正在创建的这个iOS 8应用程序中,我有一个表格视图,我需要它们能够自动调整大小。 我使用自动版面实现了它,并且可以正常工作。 几乎。 这是现在的样子。

enter image description here

单元内有3个标签。 具有lorem ipsum文本的主标签。 带有数字字符串的字幕(它们是两个单独的标签。由于它们具有相同的颜色,可能会造成混淆。)然后是带有黑色小文本的第三个标签。

第一个标签正确调整了自身大小,没有问题,第二个标签相应地上下移动。 但是问题出在第三个小标签上。 如您所见,它无法调整大小以适合所有文本。

现在发生了一件奇怪的事情。 我把它变成风景,就是这样。

enter image description here

由于有空间,标签将显示其应该显示的整个文本。 精细。 然后,我将其恢复为人像。

enter image description here

现在,小标签已调整大小以适合其所有文本,但它溢出了单元格的边界。 我尝试将单元变大,但是没有用。 由于这是自动调整大小的单元格,因此我什至不认为这是正确的方法。

我的自动布局约束也没有收到任何错误甚至警告。

enter image description here

我在viewDidLoad()方法中设置了这两行代码。

tableView.estimatedRowHeight = 100
tableView.rowHeight = UITableViewAutomaticDimension

谁能告诉我我在这里做错了什么吗?

由于仅通过查看图像就很难回答问题,而且在上述代码段旁边没有其他代码可以发布了,因此我上传了一个可运行的Xcode项目,在此处演示了此问题。 (有两个自定义单元格。基本上,它是同一单元格,只是第二个单元格的高度增加了。)

我一直在摆弄自动布局约束,但似乎无法正常工作。 任何帮助,将不胜感激。

谢谢。


更新:

借助本教程,我发现了一些有用的指示。 根据它,每个子视图都应具有约束其所有侧面的约束,并且应该具有从上到下的约束,这有助于自动布局以计算像元的高度。 在我的原始帖子中,每个标签之间都有垂直间隔,因此我认为这是自动布局无法计算正确高度的原因。

所以我做了一些改变。

  • 我将标签之间的垂直空间减小为0,并将顶部和中间标签以及中间和底部标签之间的垂直空间约束设置为。
  • 我在顶部标签中添加了前,后,后约束。
  • 领先和落后于中间的标签。
  • 前导,底部,尾随底部标签。

现在,这是另一个奇怪的部分。 当我第一次运行它时,底部标签裁剪问题仍然存在。

enter image description here

但是,如果我将设备旋转到横向,然后又转回纵向,则所有单元格的大小都会适当调整,以适合两个标签!

enter image description here

仍然不知道为什么起先没有发生这种情况。 更新的Xcode项目在这里。

trans by 2019-10-10T21:32:04Z

iPhone-如何将UITableView滚动到特定位置

如何将表格的单元格滚动到特定位置? 我有一个表,其中显示3行(根据高度)。 我想要的是,如果我单击第一行,则根据表格的高度,第一行应该滚动并获取新位置(中心),其他行也一样。 我尝试了contenOffset,但是没有用。

编辑:

简而言之,当我们在选择器中选择任何行时,数据选择器会滚动到中心。

谢谢..

trans by 2019-10-09T23:44:41Z

iPhone-UITableView背景图片

我正在尝试将png图像设置为tableview的背景。 使用以下代码,一切都很好! 但仅适用于iPhone Simulator。 如果我尝试在iPhone设备上运行该应用程序,则tableview的背景将保持白色(或清晰)。 您是否认为这是我尝试设置背景颜色的方式。 在尝试以下操作之前,我一直在尝试多种方法,但是所有方法都存在相同的问题。

self.tableView.backgroundColor = [UIColor clearColor];
self.tableView.opaque = NO;
self.tableView.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"TableViewBackground.png"]];

先感谢您!

trans by 2019-10-08T02:53:43Z

ios-通过segu传递数据

我正在用tableview控制器和detailView做一个简单的iOS应用程序。 我想要的只是通过segue传递数据。

this is how it looks like

这就是它的样子。

我想要的就是您单击“Markíza”将打开URL视频1,如果您单击“ TV JOJ”将打开URL视频2在播放器中。

我的tableview单元格:

    struct Program {
        let category : String
        let name : String
    }


   var programy = [Program]()
        self.programy = [Program(category: "Slovenské", name: "Markíza"),
                         Program(category: "Slovenské", name: "TV JOJ")]
trans by 2019-10-06T14:27:04Z

Swi中的UITableView

我正在努力弄清楚此代码段出了什么问题。 目前,这在Objective-C中有效,但是在Swift中,它仅在方法的第一行崩溃。 它在控制台日志中显示错误消息:Bad_Instruction

func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell!  {
        var cell : UITableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell") as UITableViewCell

        if (cell == nil) {
            cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "Cell")
        }

        cell.textLabel.text = "TEXT"
        cell.detailTextLabel.text = "DETAIL TEXT"

        return cell
    }
trans by 2019-10-06T10:10:03Z

ios-自动布局:是什么创建了名为UIView-Encapsulated-Layout-Width&Height的约束?

我的布局约束在Interface Builder中很好,但是由于框架的某些部分应用了我确实不希望的固定高度和宽度约束,因此在运行时发生了异常。 他们为什么在那里,以及如何将它们关闭?

它们是已记录列表中显示的最后两个约束:

2014-04-26 09:02:58.687 BBCNews[32058:60b] Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) 
(
    "<NSLayoutConstraint:0xbf478a0 UIView:0xbf4a3c0.height == 0.28125*UIView:0xbf4a3c0.width>",
    "<NSLayoutConstraint:0xbf47190 UIView:0xbf4a3c0.leading == BNMyNewsCell_landscape:0xbf48b10.leading>",
    "<NSLayoutConstraint:0xbf47160 UIView:0xbf4a3c0.trailing == BNMyNewsCell_landscape:0xbf48b10.trailing>",
    "<NSLayoutConstraint:0xbf47130 BNMyNewsCell_landscape:0xbf48b10.bottom == UIView:0xbf4a3c0.bottom>",
    "<NSLayoutConstraint:0xbf47100 UIView:0xbf4a3c0.top == BNMyNewsCell_landscape:0xbf48b10.top>",
    "<NSLayoutConstraint:0xd4c3c40 'UIView-Encapsulated-Layout-Width' H:[BNMyNewsCell_landscape:0xbf48b10(304)]>",
    "<NSLayoutConstraint:0xd4c38a0 'UIView-Encapsulated-Layout-Height' V:[BNMyNewsCell_landscape:0xbf48b10(290)]>"
}
Will attempt to recover by breaking constraint 

<NSLayoutConstraint:0xbf478a0 UIView:0xbf4a3c0.height == 0.28125*UIView:0xbf4a3c0.width>
trans by 2019-10-05T02:56:36Z

ios-自定义UITableViewC中的自动布局被忽略

尽管对所有元素(包括单元格计算高度所需的垂直元素)设置了约束,但自动布局似乎被忽略了:所有单元格都受到挤压。

这是结果和情节提要中的约束的屏幕截图。enter image description here

enter image description here

在保存tableView的VC中,这是viewDidLoad中的代码:

tableView.estimatedRowHeight = 120.0
tableView.rowHeight = UITableViewAutomaticDimension

注释掉第二行将使单元格的高度为120.0,但自动布局也会被忽略。

谢谢


更新

为了简化界面,我留了一个标签作为约束:

  • 领导观看的空间
  • 顶级观看空间
  • 固定的宽度和高度(100和100)
  • 容器边缘的底部空间,以确保单元格具有所有垂直约束来确定其高度

而且,通过简化的界面,仍然不会考虑自动布局,这提示我该问题并非来自设置不当的约束。

在“大小”检查器中,将行高设置为120,并选中“自定义”。 单元具有正确的自定义类,单元重用标识符正确。


更新:找到解决方案

这是一个简单的错误,请参阅下面的答案。

trans by 2019-10-03T21:28:05Z

1 2 3 4 5 6 7 8 下一页 共8页