Как я вычисляю оптимальную titleView ширину?

Я нахожу эти полезные

http://accelero.codeplex.com/SourceControl/changeset/view/22633#290971 http://accelero.codeplex.com/SourceControl/changeset/view/22633#290973 http://accelero.codeplex.com/SourceControl/changeset/view/22633#290972

, TickTimer является сокращением вниз копия Секундомера, который запускается, когда он создается и не поддерживает перезапуск. Это также уведомит Вас, если текущие аппаратные средства не будут поддерживать синхронизацию высокого разрешения (Секундомер глотает эту проблему)

, Таким образом, это

var tickTimer = new TickTimer();
//call a method that takes some time
DoStuff();
tickTimer.Stop();
Debug.WriteLine("Elapsed HighResElapsedTicks " + tickTimer.HighResElapsedTicks);
Debug.WriteLine("Elapsed DateTimeElapsedTicks " + tickTimer.DateTimeElapsedTicks);
Debug.WriteLine("Elapsed ElapsedMilliseconds " + tickTimer.ElapsedMilliseconds);
Debug.WriteLine("Start Time " + new DateTime(tickTimer.DateTimeUtcStartTicks).ToLocalTime().ToLongTimeString());

произведет это

Elapsed HighResElapsedTicks 10022886
Elapsed DateTimeElapsedTicks 41896
Elapsed ElapsedMilliseconds 4.18966178849554
Start Time 11:44:58

, DebugTimer является оберткой для TickTimer, который запишет результат для Отладки. (отметьте: это поддерживает Доступный шаблон)

, Таким образом, это

using (new DebugTimer("DoStuff"))
{
    //call a method that takes some time
    DoStuff();
}

произведет это к окну отладки

DoStuff: Total 3.6299 ms

, IterationDebugTimer для синхронизации, сколько времени это берет, чтобы выполнить операцию многократно и записать результат для Отладки. Это также выполнит начальную букву, выполненную, который не включен, чтобы проигнорировать время запуска. (отметьте: это поддерживает Доступный шаблон)

, Таким образом, это

int x;
using (var iterationDebugTimer = new IterationDebugTimer("Add", 100000))
{
    iterationDebugTimer.Run(() =>
    {
        x = 1+4;
    });
}

произведет это

Add: Iterations 100000 
Total 1.198540 ms 
Single 0.000012 ms

5
задан Steven Fisher 6 August 2009 в 23:15
поделиться

1 ответ

Я взломал это, выполнив следующие действия:

    int vcStackSize = [[self.navigationController viewControllers] count];
    WEViewController* previousController = [[self.navigationController viewControllers] objectAtIndex:vcStackSize - 2];

    NSString* previousTitle = [previousController title];

    UIFont* font = [UIFont boldSystemFontOfSize:12];


    lw = [previousTitle sizeWithFont:font].width + 26;

Противно, но работает

4
ответ дан 15 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: