相关疑难解决方法(0)

使用NSIndexPath作为NSMutableDictionary中的键的问题?

有没有为什么试图存储和在检索值什么特别的原因NSMutableDictionary使用NSIndexPathkey可能会失败?

我本来试图这样做是为了保存一个NSMutableDictionaryUITableViewCell高度(self.cellHeights)的UITableView.每次点击a时UITableViewCell,该单元格将根据存储在该NSMutableDictionary特定内容中的值在两个不同高度之间展开或收缩indexPath:

- (CGFloat)tableView:(UITableView *)tableView 
           heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{
    NSNumber *heightNSNumber = [self.cellHeights objectForKey:indexPath];
    if (!heightNSNumber)
    {
        heightNSNumber = [NSNumber numberWithFloat:100.0];
        [self.cellHeights setObject:heightNSNumber forKey:indexPath];
    }
    return [heightNSNumber floatValue];
}

- (void)tableView:(UITableView *)tableView  
        didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    NSNumber *heightNSNumber = [self.cellHeights objectForKey:indexPath];
    if (!heightNSNumber)
    {
        heightNSNumber = [NSNumber numberWithFloat:100.0];
        [self.cellHeights setObject:heightNSNumber forKey:indexPath];
    }

    if ([heightNSNumber floatValue] == 100.0)
    {
        [self.cellHeights …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c uitableview nsmutabledictionary nsindexpath

9
推荐指数
3
解决办法
4809
查看次数

如何更新UITableViewCell高度,因为输入到UITextView中的文本

我有不同的例子,我们可以UITableViewCell根据UITextView实际上对我有用的增长来更新高度.我现在面临的问题是,我有以下更子视图UITextViewUITableViewCell.这样,单元格的高度会更新,但子视图的位置保持固定,从而导致UITextView子视图重叠.简而言之,我没有使用自动布局.
我该如何解决 ?
这三个屏幕截图有助于理解我的问题:

1.在显示TextView之前:

在此输入图像描述

2.显示TextView后:

在此输入图像描述

3.输入文字后:

在此输入图像描述

uitableview uitextview ios uitextinput

9
推荐指数
1
解决办法
379
查看次数

NSString boundingRectWithSize使用CoreText Framesetter缩短剪裁高度?iOS版

我有一个自定义的UIView,它通过CoreText绘制一个NSString:

- (NSMutableAttributedString *)getAttributedString : (NSString *)displayText {
string = [[NSMutableAttributedString alloc]
                                     initWithString:displayText];

helvetica = CTFontCreateWithName(CFSTR("Helvetica"), 20.0, NULL);

[string addAttribute:(id)kCTFontAttributeName
               value:(__bridge id)helvetica
               range:NSMakeRange(0, [string length])];

return string;
}

- (void)drawRect:(CGRect)rect
{

CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString(
                                                                       (__bridge CFAttributedStringRef)string);
// left column form
leftColumnPath = CGPathCreateMutable();
CGPathAddRect(leftColumnPath, NULL,
              CGRectMake(0, 0,
                         self.bounds.size.width,
                         self.bounds.size.height));

// left column frame
textleftFrame = CTFramesetterCreateFrame(framesetter,
                                     CFRangeMake(0, 0),
                                     leftColumnPath, NULL);

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    // right column form
    rightColumnPath = CGPathCreateMutable();
    CGPathAddRect(rightColumnPath, NULL,
                  CGRectMake(self.bounds.size.width/2.0, 0,
                             self.bounds.size.width/2.0,
                             self.bounds.size.height));

    NSInteger …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nsstring core-text ios

5
推荐指数
1
解决办法
5447
查看次数

在iOS 7中获取String的SIZE

我使用MonoTouch.Dialog(大量定制),我使用tableView的StringSize方法来获取字符串的大小(高度和宽度).这在iOS 7中现在不起作用.如何返回字符串的大小以获得它的高度/宽度,以便我可以执行相邻的控制对齐?

谢谢.

c# size xamarin.ios ios7

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

在调用viewDidAppear方法之前,IOS7获取UITextView contentSize?

我正在将我的应用程序从iOS6升级到iOS7,我的UIViewControllers布局遇到了一些问题.在iOS6中,我能够通过获取textView的contentSize属性然后设置其frame属性来动态调整我的UITextViews的大小.我会在viewWillAppear方法中进行所有大小调整,以便在可见之前调整视图的大小.现在在iOS7中它不起作用.如果我在viewDidAppear方法中设置,则contentSize属性的唯一工作方式.我讨厌这样做,因为它会导致视图在已经可见之后跳转.有没有人想出如何解决这个问题?

这是我的代码在iOS7中不再有效:

-(void)viewWillAppear:(BOOL)animated
{
    self.textView = [[UITextView alloc]initWithFrame:CGRectMake(5, 0, 310, 0)];
    self.textView.text = @"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.";
    [self.view addSubview:self.textView];

    CGRect textViewframe;
    textViewframe = self.textView.frame;
    textViewframe.size.height = [self.textView contentSize].height;
    self.textView.frame = textViewframe;
}
Run Code Online (Sandbox Code Playgroud)

uitextview viewwillappear ios ios6 ios7

0
推荐指数
1
解决办法
5097
查看次数