Должно работать что-то вроде следующего:
Sub SplitDateTime()
Dim dDate As Date
Dim dTime As Date
Dim x As Integer
MsgBox "Split Date Time"
For x = 2 To 21
'Sets the date in the cell of the first column
dDate = Cells(x, 2)
With Cells(x, 2)
.Value = Int(dDate)
.NumberFormat = "dd/mm/yy"
End With
'Sets the time in the cell of the second column
With Cells(x, 3)
.Value = dDate - Int(dDate)
.NumberFormat = "hh:mm"
End With
Next x
End Sub
Я не полагаю, что существует представленный метод или свойство для того, чтобы сделать это. Установка backgroundColor UIAlertView (как UIView) просто помещает цветной прямоугольный фон позади аварийного представления.
я сказал бы, что это будет, вероятно, идти вразрез с единым интерфейсом iPhone для изменения этого цвета, таким образом, я не буду думать, что это рекомендовало поведение (таким же образом, что изменение цвета фона аварийного представления в Mac OS X не рекомендуется).
Это не что-то, что возможно.
Любой необходимо создать собственное представление аварийного типа (включая обеспечение анимации, и т.д.) или использовать UIAlertView по умолчанию, предоставленный Apple.
Apple склонна не представлять вещи как цвет UIAlertView так, чтобы UI имел общее чувство через все приложения. Изменение цвета от приложения до приложения сбивало бы с толку пользователя.
Фон AlertView - изображение И вы можете изменить это изображение
UIAlertView *theAlert = [[[UIAlertView alloc] initWithTitle:@"Atention"
message: @"YOUR MESSAGE HERE", nil)
delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] autorelease];
[theAlert show];
UILabel *theTitle = [theAlert valueForKey:@"_titleLabel"];
[theTitle setTextColor:[UIColor redColor]];
UILabel *theBody = [theAlert valueForKey:@"_bodyTextLabel"];
[theBody setTextColor:[UIColor blueColor]];
UIImage *theImage = [UIImage imageNamed:@"Background.png"];
theImage = [theImage stretchableImageWithLeftCapWidth:16 topCapHeight:16];
CGSize theSize = [theAlert frame].size;
UIGraphicsBeginImageContext(theSize);
[theImage drawInRect:CGRectMake(0, 0, theSize.width, theSize.height)];
theImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[[theAlert layer] setContents:[theImage CGImage]];
Я также нашел почти идентичный обходной путь, и в моем случае он работает лучше. Используя кислородный выход, я обнаружил плохой результат на экране и размытие контекста. Вместо создания подклассов UIAlertView я реализую:
- (void)willPresentAlertView:(UIAlertView *)alertView;
так что ... просто скопируйте и вставьте
- (void)willPresentAlertView:(UIAlertView *)alertView
{
blah blah blah...
[[alertView layer] setContents:(id)theImage.CGImage]; // to avoid the warning
}
Добавьте фреймворк QuartzCore в приложение и включите #import "QuartzCore / CALayer.h" в исходный файл.
Недавно мне это понадобилось, и в итоге я создал подкласс UIAlertView. Вот код для всех, кому интересно.
http://kwigbo.com/post/318396305/iphone-sdk-custom-uialertview-background-color