список точек пули iphone - PullRequest
       7

список точек пули iphone

7 голосов
/ 26 сентября 2010

Есть ли способ создать список маркеров в iphone?

Если вы скопируете и вставите список маркеров в UITextView в IB, то он появится.Есть ли способ сделать это программно?

Спасибо

Том

Ответы [ 2 ]

38 голосов
/ 26 сентября 2010

Символ маркера находится в кодовой точке Unicode U + 2022. Вы можете использовать его в строке с @"\u2022" или [NSString stringWithFormat:@"%C", 0x2022].

Символ перевода строки находится в кодовой точке Unicode U + 000A и используется как символ новой строки UIKit. Вы можете использовать его в строке с @"\n".

Например, если у вас есть массив строк, вы можете создать маркированный список с чем-то вроде этого:

NSArray * items = ...;
NSMutableString * bulletList = [NSMutableString stringWithCapacity:items.count*30];
for (NSString * s in items)
{
  [bulletList appendFormat:@"\u2022 %@\n", s];
}
textView.text = bulletList;

Это не будет делать отступы строк, как «правильный» текстовый процессор. «Плохие вещи» произойдут, если ваши элементы списка будут содержать символы новой строки (но что вы ожидали?).

(Apple не гарантирует, что экранирования "\ uXXXX" работают в литералах NSString, но на практике они выполняются, если вы используете компилятор Apple.)

4 голосов
/ 26 сентября 2010

Насколько мне известно, единственный способ добиться этого (и почти любого другого форматированного текста) на iPhone - это использовать UIWebView и вставлять HTML-код следующим образом:

<ul>
     <li>Bullet</li>
</ul>

В ответ на ваш комментарий UIWebViews можно «украсить» следующим кодом:

for(UIView* v in webView.subviews){
    if([v isKindOfClass:[UIScrollView class] ]){

        //disable bouncing
        UIScrollView* sv = (UIScrollView*) v;
        sv.alwaysBounceVertical = NO;
        sv.alwaysBounceHorizontal = NO;

        //disable scroll-shadows
        for (UIView *subView in [sv subviews])
            if ([[[subView class] description] isEqualToString:@"UIImageView"])
                subView.hidden = YES;
    }
}

Я еще не отправил это, но я думаю, что это должен быть "AppStore safe".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...