Ответ daniel.gindi выше сделал трюк для меня! (+1 daniel) Тем не менее, мне пришлось внести небольшие корректировки - измените размер shadowFrame таким же, как размер кадра в представлении, и включите взаимодействие с пользователем. Вот обновленный код:
+ (UIView*)putView:(UIView*)view insideShadowWithColor:(UIColor*)color andRadius:(CGFloat)shadowRadius andOffset:(CGSize)shadowOffset andOpacity:(CGFloat)shadowOpacity
{
CGRect shadowFrame; // Modify this if needed
// Modified this line
shadowFrame.size = CGSizeMake(view.frame.size.width, view.frame.size.height);
shadowFrame.origin.x = 0.f;
shadowFrame.origin.y = 0.f;
UIView * shadow = [[UIView alloc] initWithFrame:shadowFrame];
// Modified this line
shadow.userInteractionEnabled = YES;
shadow.layer.shadowColor = color.CGColor;
shadow.layer.shadowOffset = shadowOffset;
shadow.layer.shadowRadius = shadowRadius;
shadow.layer.masksToBounds = NO;
shadow.clipsToBounds = NO;
shadow.layer.shadowOpacity = shadowOpacity;
[shadow addSubview:view];
return shadow;
}
Я хотел бы добавить, что в моем случае я пытался добавить это в контроллер сторонних представлений, т. Е. У меня не было прямого контроля над кодом. Итак, вот как я использовал функцию выше:
UIView *shadow = [self putView:vc.view
insideShadowWithColor:[UIColor blackColor]
andRadius:5.0
andOffset:CGSizeMake(0.0, 0.0)
andOpacity:1.0];
vc.view = shadow;
vc.view.layer.cornerRadius = 5.0;
vc.view.layer.masksToBounds = YES;
Вы не отправляете List<Post>
с контроллера. Одна вещь, которую вы можете сделать, это. Вы можете получить список сообщений отдельно.
@RequestMapping(value="/viewcurrentpost")
public String showCurrentPost(Model m, Principal principal) {
boolean hasPost = false;
if(principal != null) {
hasPost = postService.hasPost(principal.getName());
}
List<Post> posts = postDao.getCurrentPost(principal.getName());
m.addAttribute("post", posts);
m.addAttribute("hasPost", hasPost);
return "viewcurrentpost";
}
В HTML Вы можете отправить как
<c:forEach var="hasPost" items="${post}">
<tr>
<td>${hasPost.id}</td>
<td>${hasPost.image}</td>
<td>${hasPost.title}</td>
<td>${hasPost.date}</td>
<td>${hasPost.description}</td>
<td >${hasPost.username}</td>
</tr>
</c:forEach>