小编Ale*_*exR的帖子

UITableView:处理混合单元格表中的单元格选择视图静态和动态单元格

我试图在分组表格视图中混合动态和静态单元格:我希望在顶部有两个静态单元格,然后是动态单元格的一部分(请参阅下面的屏幕截图).我已将表视图内容设置为静态单元格.

混合动态和静态表视图单元格

编辑

基于AppleFreak的建议,我更改了我的代码如下:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell;
    if (indexPath.section <= 1) { // section <= 1 indicates static cells
        cell = [super tableView:tableView cellForRowAtIndexPath:indexPath]; 
    } else { // section > 1 indicates dynamic cells
        CellIdentifier = [NSString stringWithFormat:@"section%idynamic",indexPath.section];
        cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    }
return cell;

}
Run Code Online (Sandbox Code Playgroud)

但是,我的应用程序崩溃并显示错误消息

由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'UITableView dataSource必须从tableView返回一个单元格:cellForRowAtIndexPath:'

对于第0部分和第0行.从cell = [super tableView:tableView cellForRowAtIndexPath:indexPath]第0部分和第0行返回的单元格是nil.

我的代码出了什么问题?我的网点可能有问题吗?我没有设置任何出口,因为我是子类,UITableViewController并且据说不设置tableview的任何出口(?).有关如何更好地做到这一点的任何建议?

在此输入图像描述

编辑二

我在故事板中重新创建了我的场景(请参阅我上面更新的屏幕截图)并重新编写视图控制器以便从新基础开始.我也在Apple的论坛中阅读了applefreak建议的描述.但是,我运行的第一个问题是使用该方法 …

objective-c uitableview ios ios5

3
推荐指数
1
解决办法
1万
查看次数

Apple Instruments:<non-object>项目来自哪里?

在Apple Instruments中检查内存分配时,我得到数千个""项目都将"TextInput"作为"负责任的库".

我没有在我的应用程序中使用键盘.

这些物体来自哪里?

在此输入图像描述

谢谢!

memory-leaks objective-c instruments ios automatic-ref-counting

3
推荐指数
1
解决办法
495
查看次数

核心图和Xcode 5编译错误:"枚举类型的隐式转换'枚举UILineBreakMode'

我正在使用Xcode 5并在尝试编译使用Core Plot的iOS应用程序时收到以下错误:

Implicit conversion from enumeration type 'enum UILineBreakMode' to different enumeration type 'NSLineBreakMode' (aka 'enum NSLineBreakMode')
Run Code Online (Sandbox Code Playgroud)

错误在于CPTTextStylePlatFormSpecific.m:

-(void)drawInRect:(CGRect)rect withTextStyle:(CPTTextStyle *)style inContext:(CGContextRef)context
{
    if ( style.color == nil ) {
        return;
    }

    CGContextSaveGState(context);
    CGColorRef textColor = style.color.cgColor;

    CGContextSetStrokeColorWithColor(context, textColor);
    CGContextSetFillColorWithColor(context, textColor);

    CPTPushCGContext(context);

    UIFont *theFont = [UIFont fontWithName:style.fontName size:style.fontSize];

    [self drawInRect:rect
            withFont:theFont
       lineBreakMode:**UILineBreakModeWordWrap** // ERROR!!
           alignment:(NSTextAlignment)style.textAlignment];

    CGContextRestoreGState(context);
    CPTPopCGContext();
}
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个错误?

objective-c core-plot ios

3
推荐指数
2
解决办法
4666
查看次数

从NSString转换为NSDate:如何忽略时区

2012-06-30使用以下代码将日期格式为NSString的NSString 转换为NSDate:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormatter dateFromString:dateString];
Run Code Online (Sandbox Code Playgroud)

省略[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]NSString中的值时2012-06-29 23:00:00加上一些自动添加的时区信息,这表明系统对当前时区有一些假设.

使用上述方法设置时区时,转换工作正常.

但是,如果用户位于不同的时区,会发生什么?

如何确保iOS仅按日期解析日期并且不添加任何时间信息?

unicode objective-c iso8601 nsdate ios

2
推荐指数
1
解决办法
3217
查看次数

在哪里设置弹出框中显示的视图控制器的大小?

根据Apple的 示例代码,我的应用程序在弹出框中呈现一个视图控制器,它由一个条形按钮触发:

- (IBAction)configChartTapped:(id)sender {

GrowthChartConfigOneViewController *panelViewController = [[GrowthChartConfigOneViewController alloc]init];

UIPopoverController *popover = [[UIPopoverController alloc]initWithContentViewController:panelViewController];
popover.delegate = self;

// Store the popover in a custom property for later use.
self.popover = popover;

[self.popover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 
}
Run Code Online (Sandbox Code Playgroud)

但是,我没有找到设置弹出窗口大小的方法.

问题:我应该在哪里以及如何设置弹出窗口及其视图控制器的大小?我可以直接在XCode中设置大小,以便在故事板中正确调整视图大小吗?

objective-c uiviewcontroller uipopovercontroller ios ios6

2
推荐指数
1
解决办法
7398
查看次数

在Interface Builder中设计popovers

我在故事板(Interface Builder)中创建了一个导航控制器及其子控制器.这些控制器仅在弹出窗口中显示.

将显示弹出框的条形按钮在代码中创建,并将以编程方式添加到工具栏中.

这基本上很好.但是,故事板中视图控制器的大小是标准的iPad大小,这使得设计UI非常困难,因为弹出窗口中的视图控制器将会小得多.

如何直接在Interface Builder中调整故事板中设计的视图控制器的大小?

谢谢!

xcode objective-c interface-builder uiviewcontroller ios

2
推荐指数
1
解决办法
1668
查看次数

核心图:如何从用户选择的栏中显示弹出框

我想要完成什么

我正在使用Core Plot(1.1)来绘制一个条形图,我想在条形图下方提供一个popover,其中有更多细节由用户选择(点击).

我的代码看起来像这样:

- (void)barPlot:(CPTBarPlot *)plot barWasSelectedAtRecordIndex:(NSUInteger)idx {

    NSNumber *yValue = self.values[idx];
    NSLog(@"barWasSelectedAtRecordIndex x: %i, y: %@",idx,yValue);

    NSDecimal plotPoint[2];
    NSNumber *plotXvalue = [self numberForPlot:plot
                                         field:CPTScatterPlotFieldX
                                   recordIndex:idx];
    plotPoint[CPTCoordinateX] =
        CPTDecimalFromFloat(plotXvalue.floatValue);

    NSNumber *plotYvalue = [self numberForPlot:plot
                                         field:CPTScatterPlotFieldY
                                   recordIndex:idx];

    plotPoint[CPTCoordinateY] =
        CPTDecimalFromFloat(plotYvalue.floatValue); 

    CPTXYPlotSpace *plotSpace =
        (CPTXYPlotSpace *)graph.defaultPlotSpace;
    CGPoint dataPoint =
        [plotSpace plotAreaViewPointForPlotPoint:plotPoint];
    NSLog(@"datapoint (CGPoint) coordinates tapped: %@",
          NSStringFromCGPoint(dataPoint));

    GrowthChartInfoTableViewController *infoViewController =
        [self.storyboard instantiateViewControllerWithIdentifier:
         @"GrowthChartInfo"];

    self.popover = [[UIPopoverController alloc]
                    initWithContentViewController:infoViewController];
    self.popover.popoverContentSize = CGSizeMake(320, 300);
    self.popover.delegate = self;
    CGRect popoverAnchor =
            CGRectMake(dataPoint.x + …
Run Code Online (Sandbox Code Playgroud)

objective-c uiview core-plot uipopovercontroller ios

2
推荐指数
1
解决办法
2761
查看次数

如何更改UIButton的颜色:Parse的PFLoginViewController中的注册按钮

如何在Parse sPFLoginViewController中更改注册按钮的(背景)颜色?

我试过了:

PFLogInViewController *logInViewController = [[PFLogInViewController alloc] init];
logInViewController.fields = PFLogInFieldsUsernameAndPassword | PFLogInFieldsLogInButton | PFLogInFieldsPasswordForgotten | PFLogInFieldsSignUpButton ;

logInViewController.logInView.signUpButton.backgroundColor = [UIColor redColor]; 
Run Code Online (Sandbox Code Playgroud)

这是我的结果:

在此输入图像描述

如何正确设置颜色?

objective-c uibutton uiview ios parse-platform

2
推荐指数
1
解决办法
1002
查看次数

使用PO命令进行调试

为什么这个调试器命令有效:

(lldb) **po indexPath**
<NSIndexPath: 0x1c0711b0> {length = 2, path = 3 - 0}
Run Code Online (Sandbox Code Playgroud)

但这不是:

(lldb) **po [indexPath section]**
[no Objective-C description available]
Run Code Online (Sandbox Code Playgroud)

debugging xcode objective-c ios lldb

2
推荐指数
1
解决办法
2533
查看次数

Google Apps脚本:如何解决“序言中不允许内容”

我正在尝试使用Google Apps脚本解析以下XML文件XmlService

<?xml version="1.0" encoding="UTF-8"?>
     <Report Major="1" Minor="0" Revision="1">
        <CoIDs>  ….
Run Code Online (Sandbox Code Playgroud)

程式码片段:

function parse(txt) {
  var document = XmlService.parse(txt);
  var root = document.getRootElement();
  //...
}
Run Code Online (Sandbox Code Playgroud)

运行脚本时,出现错误消息:Content is not allowed in prolog

XML文件的格式有问题吗?如何使用Google Apps脚本解析此文件?

更新资料

我设法通过打开文件并UTF-8使用Apple TextEdit 将其再次保存为文档来解决了该问题。在使用Google Apps脚本读取非文档UTF 8(大概是UTF-16文档)UTF-8之前,是否有任何“自动”方法(或基于代码的方法)将其转换为?

javascript xml google-sheets google-apps-script

2
推荐指数
1
解决办法
2404
查看次数