小编JH9*_*H95的帖子

根据字符串的长度更新 NSTextField 的宽度

我想制作一个标签,根据它将显示的字符串值的大小更改其大小。目前我正在这样做:

[tfScroll setStringValue:strScoller];
[tfScroll sizeToFit];
Run Code Online (Sandbox Code Playgroud)

然而,这是行不通的。我错过了什么?

macos xcode cocoa objective-c nstextfield

5
推荐指数
2
解决办法
3445
查看次数

setAnimationDidStopSelector:没有被调用

我知道这个问题被问了很多,但我已经尝试了所有其他答案,我无法弄清楚为什么动画停止选择器不被调用.这是代码:

-(void) moveImage:(UIImageView *)image duration:(NSTimeInterval)duration curve:(int)curve  x:(CGFloat)x y:(CGFloat)y annKey:(NSString *) annKey{  

[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:duration];
[UIView setAnimationCurve:curve];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDidStopSelector:@selector(animationFinished:finished:context:)];
CGAffineTransform transform = CGAffineTransformMakeTranslation(x, y);
image.transform = transform;
[UIView beginAnimations:annKey context:NULL];
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

}

这是发送所有正确参数的主要动画功能.

- (void)animationFinished:(NSString *)animationID finished:(BOOL)finished context:(void *)context
{
if ([animationID isEqualToString:@"Burn"])
{
    NSLog(@"Animation: %@ has finished.",animationID);
}

NSLog(@"This does not get called, why not?");
}
Run Code Online (Sandbox Code Playgroud)

我的NSLog都没有显示文字.我究竟做错了什么?

xcode cocoa objective-c uiview ios

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

将NSString转换为Integer时保持前导零

在将字符串转换为整数时,有没有办法保持前导零.比如说字符串是"01"有没有办法可以将它存储为整数值01?

- (int) getNextHand{

    int temp = [[numbersArray objectAtIndex:cardsDelt] intValue]; 
    NSLog(@"Card %i: %i", cardsDelt, temp);
    cardsDelt++;
    return temp;
}
Run Code Online (Sandbox Code Playgroud)

我的numbersArray包含4个前导零数字:"00""01""02""03"

objective-c nsstring ios

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

变量未在shell脚本中重新分配

我在重新分配POSTCODE_VALID变量时遇到问题.当满足if条件时,它不会被重新分配.我确保满足if条件并且应该将其设置为true.但事实并非如此.有谁知道为什么?

POSTCODE_VALID=false
find codepoint/ | while read i ;
do

    if [[ $i =~ codepoint/$AREACODE ]]
            then
                    #This is the variable that doesn't get re-assigned.
                     POSTCODE_VALID=true
    fi
done
Run Code Online (Sandbox Code Playgroud)

unix bash shell terminal

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

UITableView cellForRowAtIndexPath被提前调用

我有一个UITableView在第一次调用时加载其数组项目.但是,当我刷新tableview时它会崩溃,因为委托方法cellForRowAtIndexPath被提前调用.我有一个整数,表示我的主数据数组的索引,并在我的刷新按钮中重置为0.然而它崩溃是因为它试图在重置之前重新加载数据.我通常会使用indexPath.row作为我的索引,但是数组很复杂,而indexPath.row与我想要为每个单元格显示的内容不匹配.下面是一些代码,任何帮助表示赞赏.

当我下拉刷新AND viewDidLoad以准备数据时,会调用此方法

- (IBAction)refresh:(id)sender {
itemIndexer = 0;
[sender beginRefreshing];
[self loadData];
}
Run Code Online (Sandbox Code Playgroud)

我的loadData方法的一部分

-(void) loadData {
dispatch_queue_t backgroundQueue = dispatch_queue_create("com.Foo.myqueue", 0);
dispatch_queue_t mainQueue = dispatch_get_main_queue();

dispatch_async(backgroundQueue, ^{

   [self downloadData];

    dispatch_async(mainQueue, ^{
            [self.tableView reloadData];
            [_rcRefresh endRefreshing];
    });
});
Run Code Online (Sandbox Code Playgroud)

在viewDidLoad中我调用最初加载tableview:

[self refresh:_rcRefresh];
Run Code Online (Sandbox Code Playgroud)

我得到一个超出数组错误范围的索引.我使用断点来确定原因,原因很简单,因为刷新没有被调用,否则itemIndexer将被设置为0.而不是它的数字大于数组1.如果它真的有必要我可以发布cellForRowAtIndexPath但是我不确定你是否需要它,如果它在第一次调用时工作.因此,总结对tableview的第一次调用是有效的,并且数据加载正常,但刷新会导致索引超出数组的边界,就像从不调用refresh:一样.

objective-c uitableview nsarray ios

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

如何调整由两点定义的行的大小,使其受C++中最大行长度的约束

我在解决如何将线路限制到最大长度方面遇到了一些困难.假设我有两个SDL_Point p1p2构造一条线,p2由鼠标位置确定并且p1是常量.我有一个函数来计算线的长度,我检查该长度是否大于最大长度.如果它大于我想要缩放线的最大长度,那么角度是相同的,效果将被p2缩放以满足最大长度标准.

我正在使用这种方法来计算距离:

double Foo::CalculateDistance(SDL_Point p1, SDL_Point p2)
{
    int xd = p2.x- p1.x;
    int yd = p2.y - p1.y;
    return sqrt(xd*xd + yd*yd);
}

SDL_Point Foo::CalculatePosition(int mousePosX, int mousePosY)
{
    SDL_Point p2;
    p2.x = mousePosX;
    p2.y = mousePosY;
    lineLength = (int) CalculateDistance(p2,p1);
    if (lineLength > MAX_LINE_LENGTH)
    {
        // Buggy code 
        p2.x /= lineLength;
        p2.y /= lineLength;
    }

    return p2;
}
Run Code Online (Sandbox Code Playgroud)

任何有关这方面的指导将非常感谢!

c++ geometry line

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

SQL Like语句在Visual Basic中不起作用

Dim strText As String = tbRefine.Text
Dim sql As String = "SELECT user_name,forename,surname,game_cash,reg_group FROM tblGame WHERE user_name LIKE '" + strSearchText + "' & '*'"
Dim dsRefine As New DataSet
GetDataset(sql, "tblGame", dsRefine)

MsgBox(dsRefine.Tables("tblGame").Rows(0).Item(2).ToString)
Run Code Online (Sandbox Code Playgroud)

这不起作用,崩溃并说数据集中没有任何内容.我知道数据集函数之前的工作成功.当我将sql语句打印到microsoft访问时,它工作正常.我究竟做错了什么

sql vb.net dataset sql-like

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