У меня есть приложение для iPhone, и я хочу получить список кооперативов, по которым пользователь может кликать. Я хочу автоматизировать тестирование и сделать так, чтобы клиентское приложение щелкало по экрану, но выбор случайных координат не идеален, поэтому список координат, по которым можно кликать, будет намного лучше.
Пока у меня есть это представление, это окно верхнего уровня:
getSubViewsCoords:(UIView *)view {
iAppDelegate* appDelegate = [[UIApplication sharedApplication] delegate];
for (UIView *tempView in [view subviews]) {
// check if view responds to touch i.e. is an interactive view.
// go up through responder chain
// check if it reacts
// if it does then add to the gorilla's list
UIView *responderObj = tempView;
while (responderObj = [responderObj nextResponder]) {
if([responderObj respondsToSelector:@selector(touchesBegan:withEvent:)]){
// get xy etc and add to instance var
//then recall this function
// convert to top level windows co-ordinate system.
CGRect viewRect = [tempView convertRect:[tempView bounds] toView:nil];
clickableAreas = [clickableAreas stringByAppendingString: NSStringFromCGRect(viewRect)];
clickableAreas = [clickableAreas stringByAppendingString: @"\n"];
break;
}
}
[self getSubViewsCoords:tempView];
Это правильный путь? Есть ли более простой способ получить эту информацию?
Заранее спасибо за помощь.